Перейти к содержимому

Языки

Birchpad подсвечивает и сворачивает код 50 языков с помощью грамматик tree-sitter. Разбор идёт в фоне и обновляется по мере правки, поэтому большие файлы не тормозят набор.

По порядку: выбор в меню Синтаксис, имя файла (Makefile, .bashrc), расширение, строка #! в начале (#!/usr/bin/env python3) и сама первая строка (<?xml). Язык можно задать и из командной строки: birchpad -lpython file.txt. Файлам больше files.large-file-limit-mb (по умолчанию 20 МБ) подсветка не включается, как в Notepad++.

Один документ может содержать несколько языков, и каждый подсвечивается своей грамматикой: скрипты и стили в HTML и Svelte, блоки кода, разметка и front matter в Markdown, HTML вокруг PHP, шаблонные строки, регулярные выражения и JSDoc в JavaScript и TypeScript.

Для языков, которых нет в списке, подключите пользовательский язык Notepad++ (UDL) — см. Свои языки и автодополнение.

Идентификатор — это имя для ключа -l командной строки и для разделов [language.<id>] в темах.

Язык Идентификатор Расширения
Assembly asm .asm .s .nasm
Bash bash .sh .bash .zsh .ksh .command
Batch batch .bat .cmd .nt
C c .c .lex
C# cs .cs .csx
C++ cpp .cpp .cxx .cc .c++ .h .hh .hpp .hxx .h++ .ino .ipp .tpp .inl
CMake cmake .cmake
CSS css .css
Dart dart .dart
Diff diff .diff .patch
Dockerfile dockerfile .dockerfile .containerfile
Elixir elixir .ex .exs
Erlang erlang .erl .hrl .escript
Go go .go
GraphQL graphql .graphql .graphqls .gql
Groovy groovy .groovy .gradle .gvy .gy .gsh
Haskell haskell .hs .hsc
HCL hcl .hcl .tf .tfvars .nomad
HTML html .html .htm .shtml .shtm .xhtml .xht .hta
INI ini .ini .inf .url .wer .cfg .desktop
Java java .java
JavaScript javascript .js .mjs .cjs .jsx .jsm
JSON json .json .jsonc .json5 .geojson .webmanifest .babelrc .eslintrc
Kotlin kotlin .kt .kts
Lua lua .lua
Makefile makefile .mak .mk
Markdown markdown .md .markdown .mdown .mkd .mkdn
nginx nginx .nginx
Nix nix .nix
Objective-C objc .m .mm
Pascal pascal .pas .pp .dpr .dpk .lpr
PHP php .php .php3 .php4 .php5 .phps .phpt .phtml
PowerShell powershell .ps1 .psm1 .psd1
Properties properties .properties
Protocol Buffers proto .proto
Python python .py .pyw .pyi .pyx .pxd .gyp .bzl .wsgi
R r .r
Ruby ruby .rb .rbw .rake .gemspec .ru .erb
Rust rust .rs
Scala scala .scala .sc .sbt
Solidity solidity .sol
SQL sql .sql .ddl .dml
Svelte svelte .svelte
Swift swift .swift
TOML toml .toml
TypeScript typescript .ts .mts .cts
TypeScript JSX tsx .tsx
XML xml .xml .xaml .xsl .xslt .xsd .xul .kml .svg .mxml .xsml .wsdl .xlf .xliff .xbl .sxbl .sitemap .gml .gpx .plist .vcproj .vcxproj .csproj .vbproj .fsproj .props .targets .nuspec .resx .manifest .config .rss .atom
YAML yaml .yml .yaml
Zig zig .zig .zon