A simple language parser and highlighter made with tree-sitter
Using with nvim-treesitter
Please refer to the adding parsers section on the nvim-treesitter page for more information.
Example config:
local parser_config = require'nvim-treesitter.parsers'.get_parser_configs()
parser_config.dfraw = {
install_info = {
url = 'https://github.com/JellyApple102/tree-sitter-dfraw',
files = { 'src/parser.c' },
branch = 'main'
},
filetype = 'text',
used_by = { 'dfraw' }
}
Wrap in lua << EOF
and EOF
to use in init.vim
.
Then run :TSInstall dfraw
to install the parser.
In order for syntax highlighting to work you copy queries/highlights.scm
file from this repo to your nvim-treesitter location queries/dfraw/highlights.scm
.
More information can be found on the nvim-treesitter page.
By default it is setup to start for any file of type 'text' or 'dfraw'. If you would not like to use it for all text files you can add a custom filetype to neovim.
Example .config/nvim/scripts.vim
:
if did_filetype()
finish
endif
if getline(1) =~# '[a-z_]'
setfiletype dfraw
endif
This will match any file whose first line is just lowercase letters_and_underscores, and set the filetype to 'dfraw'.
Than change the config option filetype = 'dfraw'
and remove the used_by
option to only use 'dfraw' type files.
More information on custom filetypes here.
Feel free to change the highlight groups set by highlights.scm
. I have found that some colors schemes use the same or similar colors for different groups.
I have set them to what I like best using the tokyonight theme.
Use :highlight
to view your current highlight groups and colors.