/tree-sitter-dfraw

tree-sitter parser and syntax highlighter for the Dwarf Fortress raw language

Primary LanguageCMIT LicenseMIT

tree-sitter-dfraw

A simple language parser and highlighter made with tree-sitter

tokyonight tokyonight one tokyonight two

nightfly nightfly one nightfly two

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.

Highlight Colors

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.