]> git.r.bdr.sh - rbdr/tree-sitter-api-notation/blobdiff - lua/tree-sitter-api-notation.lua
Use filetype instead of autocmd
[rbdr/tree-sitter-api-notation] / lua / tree-sitter-api-notation.lua
index 223958a163760bcfb3098249723704b341468d7d..95d5bd558eba0568130fef05c0276136bb9a1f49 100644 (file)
@@ -2,17 +2,21 @@
 local M = {}
 
 function M.setup()
+  local config_file_path = debug.getinfo(1).source:sub(2)
+  local plugin_dir = vim.fn.fnamemodify(config_file_path, ':h:h')
   local parser_config = require 'nvim-treesitter.parsers'.get_parser_configs()
   parser_config.api_notation = {
     install_info = {
-      url = vim.fn.expand('%:p:h:h'),
+      url = plugin_dir,
       files = {'src/parser.c'},
       branch = 'main'
     }
   }
-  vim.api.nvim_create_autocmd({'BufNewFile', 'BufRead'}, {
-    pattern = {'*.api', '*.apinotation'},
-    callback = function () vim.opt.filetype = 'api_notation' end
+  vim.filetype.add({
+    extension = {
+      api = 'api_notation',
+      apinotation = 'api_notation'
+    }
   })
 end