return
end
+local Rule = require("nvim-autopairs.rule")
+
npairs.setup ({
check_ts = true,
ts_config = {
lua = {"string"}, -- it will not add a pair on that treesitter node
javascript = {"template_string"},
java = false, -- don't check treesitter on java
- }
+ },
+ map_cr = false,
})
+--Add spaces between parentheses
+npairs.add_rules {
+ Rule(' ', ' ')
+ :with_pair(function (opts)
+ local pair = opts.line:sub(opts.col - 1, opts.col)
+ return vim.tbl_contains({ '()', '[]', '{}' }, pair)
+ end),
+ Rule('( ', ' )')
+ :with_pair(function() return false end)
+ :with_move(function(opts)
+ return opts.prev_char:match('.%)') ~= nil
+ end)
+ :use_key(')'),
+ Rule('{ ', ' }')
+ :with_pair(function() return false end)
+ :with_move(function(opts)
+ return opts.prev_char:match('.%}') ~= nil
+ end)
+ :use_key('}'),
+ Rule('[ ', ' ]')
+ :with_pair(function() return false end)
+ :with_move(function(opts)
+ return opts.prev_char:match('.%]') ~= nil
+ end)
+ :use_key(']')
+}--
+
+
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
local cmp_status_ok, cmp = pcall(require, "cmp")
if not cmp_status_ok then
cmp.event:on( 'confirm_done', cmp_autopairs.on_confirm_done({ map_char = { tex = '' } }))
+
+
-- add a lisp filetype (wrap my-function), FYI: Hardcoded = { "clojure", "clojurescript", "fennel", "janet" }
cmp_autopairs.lisp[#cmp_autopairs.lisp+1] = "racket"
--Telescope
use {
- "nvim-telescope/telescope.nvim",
- requires = { {"nvim-lua/plenary.nvim"} },
+ "nvim-telescope/telescope.nvim",
+ requires = {
+ { "nvim-lua/plenary.nvim" },
+ -- { "nvim-telescope/telescope-media-files.nvim" },
+ { "BurntSushi/ripgrep" },
+ },
}
- use "BurntSushi/ripgrep"
-
-- Commenter
use {
"numToStr/Comment.nvim",
end
}
+ -- Treesitter
+ use {
+ "nvim-treesitter/nvim-treesitter",
+ run = ":TSUpdate",
+ }
+ use { "p00f/nvim-ts-rainbow" ,
+ requires = {
+ { "nvim-treesitter/nvim-treesitter" }
+ }
+ }
+ use { "nvim-treesitter/playground" ,
+ requires = {
+ { "nvim-treesitter/nvim-treesitter" }
+ }
+ }
+
+
-- Autopairs
use "windwp/nvim-autopairs"
-- PLUGINS END --
+local status_ok, telescope = pcall(require, "telescope")
+if not status_ok then
+ return
+end
+
+-- telescope.load_extension('media_files')
+
+local actions = require "telescope.actions"
+
+telescope.setup {
+ defaults = {
+
+ prompt_prefix = " ",
+ selection_caret = " ",
+ path_display = { "smart" },
+
+ mappings = {
+ i = {
+ ["<C-n>"] = actions.cycle_history_next,
+ ["<C-p>"] = actions.cycle_history_prev,
+
+ ["<C-j>"] = actions.move_selection_next,
+ ["<C-k>"] = actions.move_selection_previous,
+
+ ["<C-c>"] = actions.close,
+
+ ["<Down>"] = actions.move_selection_next,
+ ["<Up>"] = actions.move_selection_previous,
+
+ ["<CR>"] = actions.select_default,
+ ["<C-x>"] = actions.select_horizontal,
+ ["<C-v>"] = actions.select_vertical,
+ ["<C-t>"] = actions.select_tab,
+
+ ["<C-u>"] = actions.preview_scrolling_up,
+ ["<C-d>"] = actions.preview_scrolling_down,
+
+ ["<PageUp>"] = actions.results_scrolling_up,
+ ["<PageDown>"] = actions.results_scrolling_down,
+
+ ["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
+ ["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
+ ["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
+ ["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
+ ["<C-l>"] = actions.complete_tag,
+ ["<C-_>"] = actions.which_key, -- keys from pressing <C-/>
+ },
+
+ n = {
+ ["<esc>"] = actions.close,
+ ["<CR>"] = actions.select_default,
+ ["<C-x>"] = actions.select_horizontal,
+ ["<C-v>"] = actions.select_vertical,
+ ["<C-t>"] = actions.select_tab,
+
+ ["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
+ ["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
+ ["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
+ ["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
+
+ ["j"] = actions.move_selection_next,
+ ["k"] = actions.move_selection_previous,
+ ["H"] = actions.move_to_top,
+ ["M"] = actions.move_to_middle,
+ ["L"] = actions.move_to_bottom,
+
+ ["<Down>"] = actions.move_selection_next,
+ ["<Up>"] = actions.move_selection_previous,
+ ["gg"] = actions.move_to_top,
+ ["G"] = actions.move_to_bottom,
+
+ ["<C-u>"] = actions.preview_scrolling_up,
+ ["<C-d>"] = actions.preview_scrolling_down,
+
+ ["<PageUp>"] = actions.results_scrolling_up,
+ ["<PageDown>"] = actions.results_scrolling_down,
+
+ ["?"] = actions.which_key,
+ },
+ },
+ },
+ pickers = {
+ -- Default configuration for builtin pickers goes here:
+ -- picker_name = {
+ -- picker_config_key = value,
+ -- ...
+ -- }
+ -- Now the picker_config_key will be applied every time you call this
+ -- builtin picker
+ },
+ extensions = {
+ -- media_files = {
+ -- -- filetypes whitelist
+ -- -- defaults to {"png", "jpg", "mp4", "webm", "pdf"}
+ -- filetypes = {"png", "webp", "jpg", "jpeg"},
+ -- find_cmd = "rg" -- find command (defaults to `fd`)
+ -- }
+ -- Your extension configuration goes here:
+ -- extension_name = {
+ -- extension_config_key = value,
+ -- }
+ -- please take a look at the readme of the extension you want to configure
+ },
+}