tree-sitter parser and syntax highlighter for the Dwarf Fortress raw language
Go to file
JellyApple102 39af2e5e72 update string punctuation 2021-09-23 23:07:02 -04:00
bindings initial commit 2021-09-23 17:22:14 -04:00
queries update highlight groups 2021-09-23 23:05:44 -04:00
src update string punctuation 2021-09-23 23:07:02 -04:00
test/corpus update string punctuation 2021-09-23 23:07:02 -04:00
.gitignore update .gitignore 2021-09-23 17:42:40 -04:00
Cargo.toml initial commit 2021-09-23 17:22:14 -04:00
README.md update README 2021-09-23 18:16:55 -04:00
binding.gyp initial commit 2021-09-23 17:22:14 -04:00
grammar.js update string punctuation 2021-09-23 23:07:02 -04:00
package.json initial commit 2021-09-23 17:22:14 -04:00

tree-sitter-dfraw

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.

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.

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.

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.