···11--- Shorten function name
22-local set = vim.keymap.set
33--- local del = vim.keymap.del
44-55--- Remap space as leader key
66-set('', '<Space>', '<Nop>')
77-vim.g.mapleader = ' '
88-vim.g.maplocalleader = ' '
99-1010--- Modes
1111--- n : normal mode
1212--- i : insert mode
1313--- v : visual mode & select mode
1414--- x : visual mode only
1515--- s : select mode only
1616--- t : terminal mode
1717--- c : command mode
1818-1919--- Normal --
2020--- Better window navigation
2121-set('n', '<C-h>', '<C-w>h')
2222-set('n', '<C-j>', '<C-w>j')
2323-set('n', '<C-k>', '<C-w>k')
2424-set('n', '<C-l>', '<C-w>l')
2525-set('t', '<C-h>', [[<C-\><C-n><C-w>h]])
2626-set('t', '<C-j>', [[<C-\><C-n><C-w>j]])
2727-set('t', '<C-k>', [[<C-\><C-n><C-w>k]])
2828-set('t', '<C-l>', [[<C-\><C-n><C-w>l]])
2929-3030--- Resize with arrows
3131-set('n', '<C-w><Up>', '<C-w>+')
3232-set('n', '<C-w><Down>', '<C-w>-')
3333-set('n', '<C-w><Left>', '<C-w><')
3434-set('n', '<C-w><Right>', '<C-w>>')
3535-3636--- Navigate buffers
3737-set('n', '<Right>', '<cmd>BufferLineCycleNext<CR>')
3838-set('n', '<Left>', '<cmd>BufferLineCyclePrev<CR>')
3939-4040--- Navigate tabs
4141-set('n', '<Tab>', '<cmd>tabnext<CR>')
4242-set('n', '<S-Tab>', '<cmd>tabprev<CR>')
4343-4444--- Keeping search results centered
4545-set('n', 'n', 'nzzzv')
4646-set('n', 'N', 'Nzzzv')
4747-4848--- Smart dd (don't override register when deleting empty line)
4949--- inspired by u/JoseConseco_'s 'smart dd' post
5050-local function smart_dd()
5151- local current_line = '' .. vim.api.nvim_get_current_line()
5252- if current_line:match('^%s*$') then
5353- print('dont yank')
5454- return '"_dd'
5555- else
5656- print('yank')
5757- return 'dd'
5858- end
5959-end
6060-6161-set('n', 'dd', smart_dd, { expr = true })
6262-6363--- Smart closing
6464-local function smart_close()
6565- if not pcall(vim.cmd.close) then
6666- vim.cmd.bd()
6767- end
6868-end
6969-7070-set('n', '<leader>q', smart_close)
7171-7272-set('n', '<C-e>', '<cmd>NvimTreeToggle<CR>')
7373-7474--- Insert --
7575--- Press jk fast to exit Insert | Visual mode
7676-set({ 'i', 'v' }, 'jk', '<ESC>')
7777-set({ 'i', 'v' }, 'kj', '<ESC>')
7878-7979--- TODO using clipboard in graphical applications
8080--- https://github.com/neovide/neovide/issues/1282#issuecomment-1108646687
8181--- `"+y` to copy, `"+p` to paste
8282--- `<D-` stands for super key. see `:h <D-`
8383-vim.g.neovide_input_use_logo = true
8484-set('v', '<D-c>', '<cmd>echo "want to copy"<CR>')
8585-set('v', '<D-v>', '<cmd>echo "want to paste"<CR>')
8686-8787--- Visual --
8888--- Stay in indent mode
8989-set('v', '<', '<gv')
9090-set('v', '>', '>gv')
9191-9292--- Move text opt and down
9393-set('v', 'J', ":m '>+1<CR>gv=gv")
9494-set('v', 'K', ":m '<-2<CR>gv=gv")
-33
nvim_old/lua/core/lsp/configs.lua
···11--- Install loved servers
22-local servers = {
33- 'clangd',
44- 'gopls',
55- 'jsonls',
66- 'sumneko_lua',
77- 'tailwindcss',
88- 'tsserver',
99- 'html',
1010-}
1111-1212-local installer_ok, lsp_installer = pcall(require, 'nvim-lsp-installer')
1313-if installer_ok then
1414- lsp_installer.setup {
1515- ensure_installed = servers,
1616- }
1717-end
1818-1919-local lspconfig = require('lspconfig')
2020-2121-for _, server in pairs(servers) do
2222- -- TODO: get server list from lsp_installer get server list,
2323- -- not local servers{} in config file
2424- local opts = {
2525- on_attach = require('core.lsp.handlers').on_attach,
2626- capabilities = require('core.lsp.handlers').capabilities,
2727- }
2828- local has_custom_opts, server_custom_opts = pcall(require, 'core.lsp.settings.' .. server)
2929- if has_custom_opts then
3030- opts = vim.tbl_deep_extend('force', server_custom_opts, opts)
3131- end
3232- lspconfig[server].setup(opts)
3333-end
-111
nvim_old/lua/core/lsp/handlers.lua
···11-local M = {}
22-33-M.setup = function()
44- local signs = {
55- { name = 'DiagnosticSignError', text = '' },
66- { name = 'DiagnosticSignWarn', text = '' },
77- { name = 'DiagnosticSignHint', text = '' },
88- { name = 'DiagnosticSignInfo', text = '' },
99- }
1010-1111- for _, sign in ipairs(signs) do
1212- vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = '' })
1313- end
1414-1515- vim.diagnostic.config({
1616- -- enable virtual text
1717- virtual_text = true,
1818- -- show signs
1919- signs = {
2020- active = signs,
2121- },
2222- update_in_insert = true,
2323- underline = true,
2424- severity_sort = true,
2525- float = {
2626- focusable = false,
2727- style = 'minimal',
2828- border = 'rounded',
2929- source = 'always',
3030- header = '',
3131- prefix = '',
3232- },
3333- })
3434-3535- vim.lsp.handlers['textDocument/hover'] = vim.lsp.with(vim.lsp.handlers.hover, {
3636- border = 'rounded',
3737- })
3838-3939- vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with(vim.lsp.handlers.signature_help, {
4040- border = 'rounded',
4141- })
4242-end
4343-4444-local function lsp_highlight_document(client)
4545- if client.server_capabilities.documentHighlightProvider then
4646- local status_ok, illuminate = pcall(require, 'illuminate')
4747- if not status_ok then
4848- return
4949- end
5050- illuminate.on_attach(client)
5151- end
5252-end
5353-5454-local function lsp_keymaps(bufnr)
5555- -- TODO: change this to vim.keymap.set()
5656- local opts = { noremap = true, silent = true }
5757- local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
5858-5959- -- See `:help vim.lsp.*` for documentation on any of the below functions
6060- buf_set_keymap('n', 'ga', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
6161- buf_set_keymap('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
6262- buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
6363- buf_set_keymap('n', 'gh', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
6464- buf_set_keymap('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
6565- -- buf_set_keymap('n', '<C-j>', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts)
6666- -- TODO: <C-k> to <C-/>
6767- buf_set_keymap('i', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
6868-end
6969-7070-local augroup = vim.api.nvim_create_augroup('LspAutoFormat', {})
7171-7272-M.on_attach = function(client, bufnr)
7373- lsp_keymaps(bufnr)
7474- lsp_highlight_document(client)
7575- local ok, navic = pcall(require, 'nvim-navic')
7676- if ok and client.supports_method('textDocument/documentSymbol') then
7777- if client.name ~= 'html' then
7878- -- TODO: html-ls doesn't suppot documentSymbol
7979- -- https://github.com/microsoft/vscode-html-languageservice/issues/130
8080- navic.attach(client, bufnr)
8181- end
8282- end
8383- -- Setup AutoFormat
8484- if client.supports_method('textDocument/formatting') then
8585- vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
8686- vim.api.nvim_create_autocmd('BufWritePre', {
8787- group = augroup,
8888- buffer = bufnr,
8989- callback = function()
9090- vim.lsp.buf.format({
9191- bufnr = bufnr,
9292- filter = function(c)
9393- return c.name ~= 'tsserver'
9494- end,
9595- -- TODO: need callback to print `Auto-formatted with ~ server`
9696- -- (null-ls formatting should be notified exactly)
9797- })
9898- end
9999- })
100100- end
101101-end
102102-103103-local capabilities = vim.lsp.protocol.make_client_capabilities()
104104-105105-local ok, cmp_nvim_lsp = pcall(require, 'cmp_nvim_lsp')
106106-if not ok then return end
107107--- TODO: `return M end` to use neovim's default omnifunc
108108-109109-M.capabilities = cmp_nvim_lsp.update_capabilities(capabilities)
110110-111111-return M
-8
nvim_old/lua/core/lsp/init.lua
···11-local ok, _ = pcall(require, 'lspconfig')
22-if not ok then return end
33-44-require('core.lsp.configs')
55-require('core.lsp.handlers').setup()
66-require('core.lsp.null-ls')
77-88--- require("core.lsp.specifics.flutter")
···11-local options = {
22- backup = false, -- creates a backup file
33- clipboard = 'unnamedplus', -- allows neovim to access the system clipboard
44- -- cmdheight = 2, -- more space in the neovim command line for displaying messages
55- cmdheight = 1,
66- completeopt = { 'menuone', 'noselect' }, -- mostly just for cmp
77- conceallevel = 0, -- so that `` is visible in markdown files
88- fileencoding = 'utf-8', -- the encoding written to a file
99- hlsearch = true, -- highlight all matches on previous search pattern
1010- ignorecase = true, -- ignore case in search patterns
1111- mouse = '', -- don't allow the mouse to be used in neovim
1212- pumheight = 10, -- pop up menu height
1313- showmode = false, -- we don't need to see things like -- INSERT -- anymore
1414- showtabline = 2, -- always show tabs
1515- smartcase = true, -- smart case
1616- smartindent = true, -- make indenting smarter again
1717- splitbelow = true, -- force all horizontal splits to go below current window
1818- splitright = true, -- force all vertical splits to go to the right of current window
1919- swapfile = false, -- creates a swapfile
2020- termguicolors = true, -- set term gui colors (most terminals support this)
2121- timeoutlen = 100, -- time to wait for a mapped sequence to complete (in milliseconds)
2222- undofile = true, -- enable persistent undo
2323- updatetime = 300, -- faster completion (4000ms default)
2424- writebackup = false, -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited
2525- expandtab = true, -- convert tabs to spaces
2626- shiftwidth = 2, -- the number of spaces inserted for each indentation
2727- tabstop = 2, -- insert 2 spaces for a tab
2828- cursorline = true, -- highlight the current line
2929- number = true, -- set numbered lines
3030- relativenumber = false, -- set relative numbered lines
3131- numberwidth = 2, -- set number column width to 2 {default 4}
3232- signcolumn = 'yes', -- always show the sign column, otherwise it would shift the text each time
3333- colorcolumn = '80',
3434- wrap = false, -- display lines as one long line
3535- scrolloff = 8, -- is one of my fav
3636- sidescrolloff = 8,
3737- guifont = 'FiraCode Nerd Font:h16', -- the font used in graphical neovim applications
3838- whichwrap = '<,>,[,]',
3939- -- NOTE: waiting until 'disabling winbar locally' becames more easier. See neovim#1866
4040- -- winbar = "%{%v:lua.require'ui.winbar'.get_winbar()%}"
4141-}
4242-4343-for k, v in pairs(options) do
4444- vim.opt[k] = v
4545-end
4646-4747-vim.opt.shortmess:append 'c'
4848-vim.opt.fillchars:append({
4949- -- vert = ' ',
5050- diff = '╱', -- TODO: change to dotted slash & change colorscheme to Normal
5151-})
-137
nvim_old/lua/core/plugins.lua
···11--- vim:fdm=marker
22--- Packer.nvim settings {{{
33-local fn = vim.fn
44-55--- Automatically install packer
66-local install_path = fn.stdpath 'data' .. '/site/pack/packer/start/packer.nvim'
77-if fn.empty(fn.glob(install_path)) > 0 then
88- PACKER_BOOTSTRAP = fn.system {
99- 'git',
1010- 'clone',
1111- '--depth',
1212- '1',
1313- 'https://github.com/wbthomason/packer.nvim',
1414- install_path,
1515- }
1616- print 'Installing packer close and reopen Neovim...'
1717- vim.cmd [[packadd packer.nvim]]
1818-end
1919-2020--- Autocommand that reloads neovim whenever you save the plugins.lua file
2121-vim.cmd [[
2222- augroup packer_user_config
2323- autocmd!
2424- autocmd BufWritePost plugins.lua source <afile> | PackerSync
2525- augroup end
2626-]]
2727-2828--- Use a protected call so we don't error out on first use
2929-local ok, packer = pcall(require, 'packer')
3030-if not ok then
3131- return
3232-end
3333-3434--- Have packer use a popup window
3535-packer.init {
3636- display = {
3737- open_fn = function()
3838- return require('packer.util').float { border = 'rounded' }
3939- end,
4040- },
4141-}
4242--- }}}
4343-4444--- Install plugins here
4545-return packer.startup(function(use)
4646- -- My plugins here
4747- use 'wbthomason/packer.nvim' -- Have packer manage itself
4848- use 'nvim-lua/popup.nvim' -- An implementation of the Popup API from vim in Neovim
4949- use 'nvim-lua/plenary.nvim' -- Useful lua functions used by lots of plugins
5050- use 'windwp/nvim-autopairs' -- Autopairs, integrates with both cmp and treesitter
5151- use 'windwp/nvim-ts-autotag' -- Autotags, =
5252- use 'numToStr/Comment.nvim' -- Easily comment stuff
5353- use 'kyazdani42/nvim-web-devicons'
5454- use 'kyazdani42/nvim-tree.lua' -- File explorer written in lua
5555- use 'akinsho/bufferline.nvim'
5656- use 'nvim-lualine/lualine.nvim'
5757- use 'goolord/alpha-nvim'
5858- use 'ahmedkhalf/project.nvim'
5959- use 'folke/which-key.nvim'
6060- use 'folke/trouble.nvim'
6161- use 'folke/todo-comments.nvim'
6262- use 'rcarriga/nvim-notify'
6363- use 'lukas-reineke/indent-blankline.nvim'
6464- use 'SmiteshP/nvim-navic'
6565- use 'ChristianChiarulli/nvim-gps'
6666-6767- -- Note
6868- use 'nvim-neorg/neorg'
6969- use {
7070- 'iamcco/markdown-preview.nvim',
7171- run = function()
7272- vim.fn['mkdp#util#install']()
7373- end,
7474- }
7575-7676- -- Terminal
7777- use {
7878- 'akinsho/toggleterm.nvim',
7979- tag = 'v1.*',
8080- }
8181-8282- -- Colorschemes
8383- use 'folke/tokyonight.nvim'
8484-8585- -- cmp plugins
8686- use 'hrsh7th/nvim-cmp' -- The completion plugin
8787- use 'hrsh7th/cmp-buffer' -- buffer completions
8888- use 'hrsh7th/cmp-path' -- path completions
8989- use 'hrsh7th/cmp-cmdline' -- cmdline copletions
9090- use 'saadparwaiz1/cmp_luasnip' -- snippet completions
9191- use 'hrsh7th/cmp-nvim-lsp' -- LSP completions
9292- use 'hrsh7th/cmp-nvim-lua' -- vim lua completions
9393-9494- -- snippets
9595- use 'L3MON4D3/LuaSnip' -- snippet engine
9696- use 'rafamadriz/friendly-snippets' -- a bunch of snippets to use
9797-9898- -- LSP
9999- use 'neovim/nvim-lspconfig' -- enable LSP
100100- use 'williamboman/nvim-lsp-installer' -- simple to use language server installer
101101- use 'RRethy/vim-illuminate' -- highlighting other uses of a word
102102- use 'jose-elias-alvarez/null-ls.nvim' -- for formatters and linters
103103- use 'jose-elias-alvarez/nvim-lsp-ts-utils' -- typescript dev utils
104104- -- Language specific plugins (doesn't depend on nvim-lspconfg)
105105- use 'akinsho/flutter-tools.nvim' -- flutter
106106- use 'smjonas/inc-rename.nvim' -- rename with immediate visual feedback
107107-108108- -- Telescope
109109- use 'nvim-telescope/telescope.nvim'
110110-111111- -- Treesitter
112112- use {
113113- 'nvim-treesitter/nvim-treesitter',
114114- run = ':TSUpdate',
115115- }
116116- use 'nvim-treesitter/nvim-treesitter-context'
117117- use 'nvim-treesitter/nvim-treesitter-textobjects'
118118- use 'nvim-treesitter/playground'
119119- use 'JoosepAlviste/nvim-ts-context-commentstring'
120120-121121- -- Git
122122- use 'lewis6991/gitsigns.nvim'
123123- use {
124124- 'TimUntersberger/neogit',
125125- requires = 'nvim-lua/plenary.nvim'
126126- } -- magit clone for neovim
127127- use {
128128- 'sindrets/diffview.nvim', -- single tabpage interface for git diff
129129- requires = 'nvim-lua/plenary.nvim',
130130- }
131131-132132- -- Automatically set up your configuration after cloning packer.nvim
133133- -- Put this at the end after all plugins
134134- if PACKER_BOOTSTRAP then
135135- require('packer').sync()
136136- end
137137-end)
···11-local ok, inc = pcall(require, 'inc_rename')
22-if not ok then return end
33-44-inc.setup{
55- cmd_name = 'IncRename',
66- hl_group = 'Substitute',
77- multifile_preview = true,
88-}
-8
nvim_old/lua/plugins/indentblankline.lua
···11-local ok, indent = pcall(require, 'indent_blankline')
22-if not ok then return end
33-44-indent.setup {
55- -- Hide indent-blankline if tap-width is 2
66- -- char = (vim.opt.shiftwidth:get() == 4) and '▏' or '',
77- char = '▏',
88-}
···11-local ok, todo = pcall(require, 'todo-comments')
22-if not ok then return end
33-44-todo.setup({
55-})
-65
nvim_old/lua/plugins/toggleterm.lua
···11-local ok, toggleterm = pcall(require, 'toggleterm')
22-if not ok then
33- return
44-end
55-66-local Terminal = require('toggleterm.terminal').Terminal
77-88-function _Lazygit_toggle()
99- local lazygit = Terminal:new({
1010- cmd = 'lazygit',
1111- hidden = true, -- whether or not to include this terminal in the terminals list
1212- dir = 'git_dir',
1313- direction = 'tab',
1414- on_open = function()
1515- -- Don't use general on_open function defined below
1616- end,
1717- })
1818- lazygit:toggle()
1919-end
2020-2121-local files = {
2222- c = { 'gcc -o temp ', ' && ./temp && rm ./temp' },
2323- cpp = { 'g++ -o temp ', ' && ./temp && rm ./temp' },
2424-}
2525-local function Runfile()
2626- -- vim.cmd [[w]]
2727- local cmds = files[vim.bo.filetype]
2828- local command = cmds[1] .. vim.fn.expand('%:t') .. cmds[2]
2929- if command ~= nil then
3030- Terminal
3131- :new({ cmd = command, close_on_exit = false })
3232- :toggle()
3333- print('Running: ' .. command)
3434- end
3535-end
3636-3737--- KEYMAPS
3838-vim.keymap.set('n', '<leader><leader>r', Runfile)
3939-vim.keymap.set('n', '<F11>', Runfile)
4040-4141-toggleterm.setup {
4242- size = function(term)
4343- if term.direction == 'horizontal' then
4444- return 15
4545- elseif term.direction == 'vertical' then
4646- return vim.o.columns * 0.4
4747- end
4848- end,
4949- open_mapping = [[<c-t>]],
5050- on_open = function(term)
5151- local opts = { buffer = term.bufnr }
5252- vim.wo.signcolumn = 'no'
5353- -- KEYMAPS
5454- -- Fast enter NORMAL mode
5555- vim.keymap.set('t', '<ESC>', [[<C-\><C-n>]], opts)
5656- vim.keymap.set('t', 'jk', [[<C-\><C-n>]], opts)
5757- end,
5858- start_in_insert = false,
5959- insert_mappings = false,
6060- float_opts = {
6161- border = 'curved',
6262- },
6363-}
6464-6565--- vim.api.nvim_del_user_command('TermExec')
-39
nvim_old/lua/plugins/treesitter/context.lua
···11-local ok, context = pcall(require, 'treesitter-context')
22-if not ok then return end
33-44-context.setup {
55- enable = false, -- Enable this plugin (Can be enabled/disabled later via commands)
66- max_lines = 0, -- How many lines the window should span. Values <= 0 mean no limit.
77- patterns = { -- Match patterns for TS nodes. These get wrapped to match at word boundaries.
88- -- For all filetypes
99- -- Note that setting an entry here replaces all other patterns for this entry.
1010- -- By setting the 'default' entry below, you can control which nodes you want to
1111- -- appear in the context window.
1212- default = {
1313- 'class',
1414- 'function',
1515- 'method',
1616- -- 'for', -- These won't appear in the context
1717- -- 'while',
1818- -- 'if',
1919- -- 'switch',
2020- -- 'case',
2121- },
2222- -- Example for a specific filetype.
2323- -- If a pattern is missing, *open a PR* so everyone can benefit.
2424- -- rust = {
2525- -- 'impl_item',
2626- -- },
2727- },
2828- exact_patterns = {
2929- -- Example for a specific filetype with Lua patterns
3030- -- Treat patterns.rust as a Lua pattern (i.e "^impl_item$" will
3131- -- exactly match "impl_item" only)
3232- -- rust = true,
3333- },
3434-3535- -- [!] The options below are exposed but shouldn't require your attention,
3636- -- you can safely ignore them.
3737-3838- zindex = 20, -- The Z-index of the context window
3939-}
-91
nvim_old/lua/plugins/treesitter/init.lua
···11-local ok, tsconfigs = pcall(require, 'nvim-treesitter.configs')
22-if not ok then
33- return
44-end
55-66-local loved_parsers = require('plugins.treesitter.parsers')
77-88-tsconfigs.setup {
99- -- A list of parser names, or "all"
1010- ensure_installed = loved_parsers,
1111-1212- -- Install languages synchronously (only applied to `ensure_installed`)
1313- sync_install = false,
1414-1515- -- List of parsers to ignore installing (for "all")
1616- ignore_install = false,
1717- -- ignore_install = { "d", "foam", "help", "phpdoc", "slint", "todotxt", "verilog" },
1818-1919- highlight = {
2020- -- `false` will disable the whole extension
2121- enable = true,
2222-2323- -- NOTE: these are the names of the parsers and not the filetype. (for example if you want to
2424- -- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is
2525- -- the name of the parser)
2626- -- list of language that will be diagnostic_disabled
2727- disable = {},
2828-2929- -- Setting this to true will run `:h syntax` and tree-sitter at the same time.
3030- -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
3131- -- Using this option may slow down your editor, and you may see some duplicate highlights.
3232- -- Instead of true it can also be a list of languages
3333- additional_vim_regex_highlighting = true,
3434- },
3535-3636- autopairs = {
3737- enable = true,
3838- },
3939- autotag = {
4040- enable = true,
4141- },
4242- indent = { enable = true, disable = { 'yaml' } },
4343- textobjects = {
4444- select = {
4545- enable = true,
4646-4747- -- Automatically jump forward to textobj, similar to targets.vim
4848- lookahead = true,
4949-5050- keymaps = {
5151- ['af'] = '@function.outer',
5252- ['if'] = '@function.inner',
5353- ['i0'] = '@parameter.inner',
5454- ['ac'] = '@class.outer',
5555- ['ic'] = '@class.outer',
5656- },
5757- },
5858- move = {
5959- enable = true,
6060- set_jumps = true, -- whether to set jumps in the jumplist
6161- goto_next_start = {
6262- [']f'] = '@function.inner',
6363- [']p'] = '@parameter.inner',
6464- ['<leader>p'] = '@parameter.inner',
6565- [']c'] = '@class.inner',
6666- },
6767- goto_next_end = {
6868- [']e'] = '@parameter.inner',
6969- },
7070- goto_previous_start = {
7171- ['[f'] = '@function.inner',
7272- ['[p'] = '@parameter.inner',
7373- ['[c'] = '@class.inner',
7474- },
7575- goto_previous_end = {
7676- ['[e'] = '@parameter.inner',
7777- },
7878- },
7979- },
8080- context_commentstring = {
8181- enable = true,
8282- enable_autocmd = false,
8383- },
8484-}
8585--- KEYMAPS
8686-vim.keymap.set('n', ')', ']p', { remap = true })
8787-vim.keymap.set('n', '(', '[p', { remap = true })
8888-vim.keymap.set({ 'n', 'v' }, '<leader>0', '<ESC>]pvi0', { remap = true })
8989-vim.keymap.set({ 'n', 'v' }, '<leader>9', '<ESC>[evi0', { remap = true })
9090-9191-require 'plugins.treesitter.context'