treesitter
authorGeorgios Atheridis <atheridis@tutamail.com>
Sun, 5 Jun 2022 11:16:35 +0000 (14:16 +0300)
committerGeorgios Atheridis <atheridis@tutamail.com>
Sun, 5 Jun 2022 11:16:35 +0000 (14:16 +0300)
nvim/init.lua
nvim/lua/nvim/autopairs.lua
nvim/lua/nvim/lsp/settings/pyright.lua
nvim/lua/nvim/options.lua
nvim/lua/nvim/plugins.lua
nvim/lua/nvim/telescope.lua
nvim/lua/nvim/treesitter.lua [new file with mode: 0644]

index c020c10a7e871ec1f886cca021d40dccf940eebe..9f4b11bd860e3c9b56fe5836fd50518adeca5e26 100644 (file)
@@ -5,3 +5,4 @@ require("nvim.colorscheme")
 require("nvim.cmp")
 require("nvim.lsp")
 require("nvim.autopairs")
+require("nvim.treesitter")
index 6e31b09dc107a3993b08e947f6c7044ca2c0ddcd..75a4998262a15c27227723702c8b587888cd8c9e 100644 (file)
@@ -4,15 +4,46 @@ if not status_ok then
     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
@@ -21,5 +52,7 @@ end
 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"
index c43621d40b10f233a6f72389d982b2f050256e6b..1fe7686477ebf89bb3e74f07539ec00c9a7b59da 100644 (file)
@@ -2,7 +2,7 @@ return {
     settings = {
         python = {
             analysis = {
-                typeCheckingMode = "strict",
+                typeCheckingMode = "basic",
             }
         }
     },
index 20e85abcd400762ea33491ec16afc78a6c36acb6..9ed4443c69f35394e2cfb28dd5ea1e0a0c8a35b5 100644 (file)
@@ -18,7 +18,7 @@ local options = {
     undofile = true,
     updatetime = 300,
     writebackup = false,
-    expandtab = true,
+    expandtab = false,
     shiftwidth = 4,
     tabstop = 4,
     number = true,
index b87e6a27fcc3c8167ec4053dfe8c4b9eba4cc8e8..6c3e8b6f190ae011cc6a0262cb9ab0aedd14240c 100644 (file)
@@ -79,12 +79,14 @@ return packer.startup(function(use)
 
         --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",
@@ -93,6 +95,23 @@ return packer.startup(function(use)
             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 --
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f0d01b1ae0b470b17e67f03852f9a58c3204462b 100644 (file)
@@ -0,0 +1,104 @@
+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
+    },
+}
diff --git a/nvim/lua/nvim/treesitter.lua b/nvim/lua/nvim/treesitter.lua
new file mode 100644 (file)
index 0000000..1c28b60
--- /dev/null
@@ -0,0 +1,13 @@
+local configs = require("nvim-treesitter.configs")
+configs.setup {
+       ensure_installed = "all",
+       sync_install = false, 
+       ignore_install = { "" }, -- List of parsers to ignore installing
+       highlight = {
+       enable = true, -- false will disable the whole extension
+       disable = { "" }, -- list of language that will be disabled
+       additional_vim_regex_highlighting = true,
+       
+       },
+       indent = { enable = true, disable = { "yaml" } },
+}