diff options
Diffstat (limited to '.config/nvim/lua/core/autopairs.lua')
-rw-r--r-- | .config/nvim/lua/core/autopairs.lua | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/.config/nvim/lua/core/autopairs.lua b/.config/nvim/lua/core/autopairs.lua deleted file mode 100644 index 0759fd6..0000000 --- a/.config/nvim/lua/core/autopairs.lua +++ /dev/null @@ -1,79 +0,0 @@ -local M = {} - -function M.config() - options.builtin.autopairs = { - active = true, - on_config_done = nil, - ---@usage -- modifies the function or method delimiter by filetypes - map_char = { - all = "(", - tex = "{", - }, - enable_check_bracket_line = false, - ---@usage check treesitter - check_ts = true, - ts_config = { - lua = { "string" }, - javascript = { "template_string" }, - java = false, - }, - } -end - -M.setup = function() - local autopairs = require "nvim-autopairs" - local Rule = require "nvim-autopairs.rule" - local cond = require "nvim-autopairs.conds" - - autopairs.setup { - check_ts = options.builtin.autopairs.check_ts, - enable_check_bracket_line = options.builtin.autopairs.enable_check_bracket_line, - ts_config = options.builtin.autopairs.ts_config, - } - - -- vim.g.completion_confirm_key = "" - - autopairs.add_rule(Rule("$$", "$$", "tex")) - autopairs.add_rules { - Rule("$", "$", { "tex", "latex" }) -- don't add a pair if the next character is % - :with_pair(cond.not_after_regex_check "%%") -- don't add a pair if the previous character is xxx - :with_pair(cond.not_before_regex_check("xxx", 3)) -- don't move right when repeat character - :with_move(cond.none()) -- don't delete if the next character is xx - :with_del(cond.not_after_regex_check "xx") -- disable add newline when press <cr> - :with_cr(cond.none()), - } - autopairs.add_rules { - Rule("$$", "$$", "tex"):with_pair(function(opts) - print(vim.inspect(opts)) - if opts.line == "aa $$" then - -- don't add pair on that line - return false - end - end), - } - - local cmp_status_ok, cmp = pcall(require, "cmp") - if cmp_status_ok then - -- If you want insert `(` after select function or method item - local cmp_autopairs = require "nvim-autopairs.completion.cmp" - local map_char = options.builtin.autopairs.map_char - cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done { map_char = map_char }) - end - - require("nvim-treesitter.configs").setup { autopairs = { enable = true } } - - local ts_conds = require "nvim-autopairs.ts-conds" - - -- TODO: can these rules be safely added from "config.lua" ? - -- press % => %% is only inside comment or string - autopairs.add_rules { - Rule("%", "%", "lua"):with_pair(ts_conds.is_ts_node { "string", "comment" }), - Rule("$", "$", "lua"):with_pair(ts_conds.is_not_ts_node { "function" }), - } - - if options.builtin.autopairs.on_config_done then - options.builtin.autopairs.on_config_done(autopairs) - end -end - -return M |