2024-11-20 20:01:53 -08:00
|
|
|
local M = {}
|
|
|
|
|
|
|
|
|
|
function M.setup(opts)
|
2024-11-20 22:01:02 -08:00
|
|
|
vim.filetype.add({
|
|
|
|
|
extension = { pg = 'perga' }
|
|
|
|
|
})
|
|
|
|
|
|
2024-11-21 13:39:29 -08:00
|
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
|
|
|
pattern = "perga",
|
|
|
|
|
callback = function()
|
|
|
|
|
_G.get_perga_indent = get_indent
|
|
|
|
|
vim.opt_local.commentstring = '-- %s'
|
2024-12-01 20:52:42 -08:00
|
|
|
vim.opt_local.comments = 'sr:[*,mb:*,ex:*],b:--'
|
|
|
|
|
vim.opt_local.formatoptions = 'cqort'
|
2024-11-21 13:39:29 -08:00
|
|
|
end
|
|
|
|
|
})
|
2024-11-20 22:25:58 -08:00
|
|
|
|
|
|
|
|
local parser_config = require 'nvim-treesitter.parsers'.get_parser_configs()
|
2024-11-20 20:01:53 -08:00
|
|
|
parser_config.perga = {
|
|
|
|
|
install_info = {
|
2024-12-01 20:52:42 -08:00
|
|
|
-- url = 'https://forgejo.ballcloud.cc/wball/tree-sitter-perga',
|
|
|
|
|
url = '~/repos/tree-sitter-perga',
|
2024-11-20 22:25:58 -08:00
|
|
|
files = {'src/parser.c'},
|
|
|
|
|
branch = 'main',
|
2024-11-20 20:01:53 -08:00
|
|
|
generate_requires_npm = false,
|
|
|
|
|
requires_generate_from_grammar = false,
|
|
|
|
|
},
|
2024-11-20 22:25:58 -08:00
|
|
|
filetype = 'pg',
|
2024-11-20 20:01:53 -08:00
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return M
|