M neovim/.config/nvim/after/ftplugin/go.lua => neovim/.config/nvim/after/ftplugin/go.lua +10 -0
@@ 1,6 1,12 @@
local map = vim.api.nvim_buf_set_keymap
+local cmd = vim.api.nvim_buf_create_user_command
local noremap = { noremap = true }
+vim.o.softtabstop = 4
+vim.o.shiftwidth = 4
+vim.o.tabstop = 4
+vim.o.expandtab = false
+
-- Run the project
map(0, "n", "<leader>r", "<cmd>GoRun<cr>", noremap)
@@ 27,3 33,7 @@ map(0, "n", "<leader>tc", "<cmd>GoCoverageToggle<cr>", noremap)
-- Swap to test or back
map(0, "n", "<S-Tab>", "<cmd>GoAlternate!<cr>", noremap)
+
+-- Add GoJson command.
+-- Simply paste in some json, select it and run :GoJson on it.
+cmd(0, 'GoJson', "'<,'>!gojson", {range=0})
A neovim/.config/nvim/after/ftplugin/hare.lua => neovim/.config/nvim/after/ftplugin/hare.lua +8 -0
@@ 0,0 1,8 @@
+local map = vim.api.nvim_buf_set_keymap
+local noremap = { noremap = true }
+
+-- run the project
+map(0, "n", "<leader>r", "<cmd>!hare run %<cr>", noremap)
+
+-- build the project
+map(0, "n", "<leader>b", "<cmd>make<cr>", noremap)
M neovim/.config/nvim/after/ftplugin/mail.lua => neovim/.config/nvim/after/ftplugin/mail.lua +0 -1
@@ 1,2 1,1 @@
vim.o.autoindent = false
-vim.cmd("call pencil#init()")
M neovim/.config/nvim/after/ftplugin/markdown.lua => neovim/.config/nvim/after/ftplugin/markdown.lua +0 -1
@@ 3,4 3,3 @@ vim.o.shiftwidth=2
vim.o.expandtab = true
vim.o.tw = 80
vim.o.wrap = true
-vim.cmd("call pencil#init()")
M neovim/.config/nvim/after/ftplugin/text.lua => neovim/.config/nvim/after/ftplugin/text.lua +0 -1
@@ 3,4 3,3 @@ vim.o.shiftwidth=2
vim.o.expandtab = true
vim.o.tw = 80
vim.o.wrap = true
-vim.cmd("call pencil#init()")
M neovim/.config/nvim/after/ftplugin/wiki.lua => neovim/.config/nvim/after/ftplugin/wiki.lua +2 -3
@@ 1,6 1,5 @@
-vim.o.tabstop=2
-vim.o.shiftwidth=2
+vim.o.tabstop = 2
+vim.o.shiftwidth = 2
vim.o.expandtab = true
vim.o.tw = 80
vim.o.wrap = true
-vim.cmd("call pencil#init()")
M neovim/.config/nvim/lua/maps.lua => neovim/.config/nvim/lua/maps.lua +82 -38
@@ 1,5 1,6 @@
local map = vim.api.nvim_set_keymap
local noremap = { noremap = true }
+local snoremap = { noremap = true, silent = true }
-- Move between splits without C-W prefix
map('n', '<C-J>', '<C-W><C-J>', noremap)
@@ 23,21 24,79 @@ map('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
map('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
-- Disable search highlighting
-map('n', '<space>n', ':nohl<CR>', noremap)
+map('n', '<space>n', ':nohl<CR>', snoremap)
-- Toggle hidden characters
-map('n', '<space>sh', ':set list!<cr>', noremap)
+map('n', '<space>sh', ':set list!<cr>', snoremap)
+-- Toggle spell checking
+map('n', '<space>ss', ':set spell!<cr>', snoremap)
+
+-- Toggle line wrapping
+map('n', '<space>sw', ':set wrap!<cr>', snoremap)
+
+-- Toggle virtual edit (move around freely in the window)
+map('n', '<space>sv', '', {
+ noremap = true,
+ silent = true,
+ callback = function()
+ if (vim.o.virtualedit == '') then
+ vim.o.virtualedit = 'all'
+ else
+ vim.o.virtualedit = ''
+ end
+ end,
+})
+
+-- Toggle number
+map('n', '<space>sn', '', {
+ noremap = true,
+ silent = true,
+ callback = function()
+ vim.o.relativenumber = not vim.o.relativenumber
+ vim.o.number = not vim.o.number
+ end,
+})
+
+-- Repeat macros with , because @@ is too long for me lol
+map('n', ',', '@@', noremap)
+
+-- Recreate some of vim-unimpaired
+-- map('n', '[a', ':previous<cr>', snoremap)
+-- map('n', ']a', ':next<cr>', snoremap)
+-- map('n', '[A', ':first<cr>', snoremap)
+-- map('n', ']A', ':last<cr>', snoremap)
+--
+-- map('n', '[b', ':bprevious<cr>', snoremap)
+-- map('n', ']b', ':bnext<cr>', snoremap)
+-- map('n', '[B', ':bfirst<cr>', snoremap)
+-- map('n', ']B', ':blast<cr>', snoremap)
+--
+-- map('n', '[l', ':lprevious<cr>', snoremap)
+-- map('n', ']l', ':lnext<cr>', snoremap)
+-- map('n', '[L', ':lfirst<cr>', snoremap)
+-- map('n', ']L', ':llast<cr>', snoremap)
+--
+-- map('n', '[q', ':cprevious<cr>', snoremap)
+-- map('n', ']q', ':cnext<cr>', snoremap)
+-- map('n', '[Q', ':cfirst<cr>', snoremap)
+-- map('n', ']Q', ':clast<cr>', snoremap)
+--
+-- map('n', '[t', ':tprevious<cr>', snoremap)
+-- map('n', ']t', ':tnext<cr>', snoremap)
+-- map('n', '[T', ':tfirst<cr>', snoremap)
+-- map('n', ']T', ':tlast<cr>', snoremap)
+--
-- Close other windows
-map('n', '<space>o', ':only<CR>', noremap)
+map('n', '<space>o', ':only<CR>', snoremap)
-- Hop binds
map('n', '<space><space>', "", {
+ noremap = true,
callback = function()
- require'hop'.hint_char2()
- end,
- noremap = true
+ require 'hop'.hint_char2()
+ end
})
-- Telescope binds
@@ 99,49 158,34 @@ map("n", "<space>ca", "", {
-- Trouble error list
map("n", "<space>el", ":TroubleToggle<CR>", noremap)
--- Fugitive 3-way diff
-map("n", "<leader>gd", ":Gvdiff<CR>", noremap)
-map("n", "gh", ":diffget //2<CR>", noremap)
-map("n", "gl", ":diffget //3<CR>", noremap)
-
-- Use dial.nvim (speed-dating clone) instead of defaults
-map("n", "<C-a>", require("dial.map").inc_normal(), noremap)
-map("n", "<C-x>", require("dial.map").dec_normal(), noremap)
-map("v", "<C-a>", require("dial.map").inc_visual(), noremap)
-map("v", "<C-x>", require("dial.map").dec_visual(), noremap)
-map("v", "g<C-a>", require("dial.map").inc_gvisual(), noremap)
-map("v", "g<C-x>", require("dial.map").dec_gvisual(), noremap)
+map("n", "<C-a>", require("dial.map").inc_normal(), snoremap)
+map("n", "<C-x>", require("dial.map").dec_normal(), snoremap)
+map("v", "<C-a>", require("dial.map").inc_visual(), snoremap)
+map("v", "<C-x>", require("dial.map").dec_visual(), snoremap)
+map("v", "g<C-a>", require("dial.map").inc_gvisual(), snoremap)
+map("v", "g<C-x>", require("dial.map").dec_gvisual(), snoremap)
-- Align text (EasyAlign)
-map("v", "ga", "<Plug>(EasyAlign)", noremap)
-map("n", "ga", "<Plug>(EasyAlign)", noremap)
+map("v", "ga", "<Plug>(EasyAlign)", snoremap)
+map("n", "ga", "<Plug>(EasyAlign)", snoremap)
-- Show highlight group with F12
-map("n", "<F12>", ":TSHighlightCapturesUnderCursor<CR>", noremap)
+map("n", "<F12>", ":TSHighlightCapturesUnderCursor<CR>", snoremap)
-- Map %% to return my current working directory
-map("c", "%%", "<C-R>=expand('%:h').'/'<cr>", noremap)
+map("c", "%%", "<C-R>=expand('%:h').'/'<cr>", snoremap)
-- Open undotree
-map("n", "<space>su", ":UndotreeToggle<CR>", noremap)
+map("n", "<space>su", ":UndotreeToggle<CR>", snoremap)
-- Schlepp
-map("v", "<up>", "<Plug>SchleppUp", noremap)
-map("v", "<down>", "<Plug>SchleppDown", noremap)
-map("v", "<left>", "<Plug>SchleppLeft", noremap)
-map("v", "<right>", "<Plug>SchleppRight", noremap)
+map("v", "<up>", "<Plug>SchleppUp", snoremap)
+map("v", "<down>", "<Plug>SchleppDown", snoremap)
+map("v", "<left>", "<Plug>SchleppLeft", snoremap)
+map("v", "<right>", "<Plug>SchleppRight", snoremap)
-- Date command ... but in lua?
-map("n", "<space>dd", "", {
- noremap = true,
- callback = function()
- vim.api.nvim_put({os.date("%Y-%m-%dT%H:%M:%S")}, "l", false, true)
- end,
-})
+map("n", "<space>dd", [[:exec 'normal a'.substitute(system("date -Iseconds"),"[\n]*$","","")<CR>]], snoremap)
-map("n", "<space>ds", "", {
- noremap = true,
- callback = function()
- vim.api.nvim_put({os.date("%Y-%m-%d")}, "l", false, true)
- end,
-})
+map("n", "<space>ds", [[:exec 'normal a'.substitute(system("date +%Y-%m-%d"),"[\n]*$","","")<CR>]], snoremap)
M neovim/.config/nvim/lua/plugins/init.lua => neovim/.config/nvim/lua/plugins/init.lua +32 -46
@@ 1,9 1,10 @@
require('packer').startup(function(use)
- use 'wbthomason/packer.nvim'
+ use 'wbthomason/packer.nvim'
-- "Libraries"
use 'nvim-lua/plenary.nvim'
use 'tpope/vim-repeat'
+ use 'antoinemadec/FixCursorHold.nvim'
-- Startup speed improvement (must call require before others plugins!)
use {
@@ 12,6 13,7 @@ require('packer').startup(function(use)
}
-- Colorscheme
+ use '~/g/left.nvim'
use 'RRethy/nvim-base16'
use {
'nvim-lualine/lualine.nvim',
@@ 19,7 21,13 @@ require('packer').startup(function(use)
}
-- Advanced syntax highlighting and more...
- use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate' }
+ use {
+ 'nvim-treesitter/nvim-treesitter',
+ run = ':TSUpdate',
+ config = function()
+ require('plugins.treesitter')
+ end
+ }
use {
'lewis6991/spellsitter.nvim',
config = function() require('spellsitter').setup() end
@@ 28,7 36,7 @@ require('packer').startup(function(use)
use 'nvim-treesitter/playground' -- Show highlight group w/ f12
-- LSP
- use 'neovim/nvim-lspconfig'
+ use 'neovim/nvim-lspconfig'
use 'hrsh7th/cmp-nvim-lsp' -- TODO: swap for nvim-compleet eventually...
use 'hrsh7th/cmp-buffer'
use 'hrsh7th/cmp-path'
@@ 46,13 54,14 @@ require('packer').startup(function(use)
use 'hrsh7th/vim-vsnip'
-- Language support
+ use 'https://git.sr.ht/~sircmpwn/hare.vim'
+ use 'mattn/emmet-vim'
use 'jose-elias-alvarez/null-ls.nvim'
use 'jose-elias-alvarez/nvim-lsp-ts-utils'
use 'mfussenegger/nvim-jdtls'
use {
'fatih/vim-go',
run = ':GoUpdateBinaries',
- ft = {'go', 'gomod', 'gowork'}
}
-- Hop around the page quickly
@@ 60,27 69,28 @@ require('packer').startup(function(use)
'phaazon/hop.nvim', -- TODO: theme with base16
branch = 'v1', -- optional but strongly recommended
config = function()
- require'hop'.setup()
+ require 'hop'.setup()
end
}
-- Fuzzy searcher
use 'nvim-telescope/telescope.nvim'
+ -- use 'nvim-telescope/telescope-ui-select.nvim'
use { 'nvim-telescope/telescope-fzf-native.nvim', run = 'make' }
-- dirbuf as filemanager
use "elihunter173/dirbuf.nvim"
- -- Toggleterm to quickly open a terminal
- use 'akinsho/toggleterm.nvim'
+ -- Draw ASCII diagrams :VBox
+ use "jbyuki/venn.nvim"
-- Wiki
use { 'lervag/wiki.vim', ft = 'wiki' }
- use { 'lervag/wiki-ft.vim', ft = 'wiki' }
+ use { '~/g/wiki-ft.vim', ft = 'wiki' }
-- Auto-close brackets and such when hitting enter
- -- use 'rstacruz/vim-closer'
- use 'tpope/vim-endwise'
+ use 'rstacruz/vim-closer'
+ use 'tpope/vim-endwise' -- TODO: Add markdown ``` support
-- Comment things in/out
use {
@@ 90,8 100,10 @@ require('packer').startup(function(use)
-- Git improvements
use 'tpope/vim-fugitive'
+ use 'https://git.sr.ht/~willdurand/srht.vim'
use 'junegunn/gv.vim'
- use {'lewis6991/gitsigns.nvim', requires = { 'nvim-lua/plenary.nvim' }}
+ use 'tpope/vim-unimpaired'
+ use { 'lewis6991/gitsigns.nvim', requires = { 'nvim-lua/plenary.nvim' } }
-- Operate on "sandwhiched" text
use {
@@ 105,6 117,9 @@ require('packer').startup(function(use)
-- Adds a cx "exchange" operator to swap selections
use 'tommcdo/vim-exchange'
+ -- Slightly improved %
+ use 'andymass/vim-matchup'
+
-- Expands on the idea of commands like di'
use 'wellle/targets.vim'
@@ 123,27 138,15 @@ require('packer').startup(function(use)
-- Show color codes as their color
use {
'rrethy/vim-hexokinase',
- run = 'make hexokinase'
+ run = 'make hexokinase'
}
-- Move blocks of selected text around
use 'zirrostig/vim-schlepp'
- -- Misc ][ bindings
- -- use 'tpope/vim-unimpaired' -- TODO: create bindings from lua myself
-
-- Make * search work in visual mode
use 'bronson/vim-visual-star-search'
- -- Pencil to do "smart wrapping" in text and markdown files
- use 'preservim/vim-pencil'
-
- -- Emmet.vim for easier HTML writing
- use {
- 'mattn/emmet-vim',
- ft = {'html', 'css'}
- }
-
-- Display :StartupTime
use 'dstein64/vim-startuptime'
end)
@@ 157,25 160,16 @@ vim.cmd([[
]])
require('plugins.theme')
-require('plugins.treesitter')
require('plugins.lsp')
require('plugins.git')
require("dirbuf").setup {
- show_hidden = false,
- sort_order = "directories_first",
- write_cmd = "DirbufSync",
-}
-
-require("toggleterm").setup{
- open_mapping = [[<C-\>]],
- direction = 'float',
- float_opts = {
- border = 'curved'
- }
+ show_hidden = false,
+ sort_order = "directories_first",
+ write_cmd = "DirbufSync",
}
-require('telescope').setup{}
+require('telescope').setup {}
require('telescope').load_extension('fzf')
-- hexokinase
@@ 183,14 177,6 @@ vim.g.Hexokinase_optInPatterns = 'full_hex,rgb,rgba,hsl,hsla'
-- wiki.vim
vim.g.wiki_root = "~/docs/memex"
-vim.g.wiki_filetypes = {'md', 'wiki'}
-
--- emmet trigger key
-vim.g.user_emmet_leader_key = '<C-S>'
+vim.g.wiki_filetypes = { 'md', 'wiki' }
-- vim-go
-vim.g.go_highlight_types = 1
-vim.g.go_highlight_fields = 1
-vim.g.go_highlight_functions = 1
-vim.g.go_highlight_function_calls = 1
-vim.g.go_highlight_build_constraints = 1
M neovim/.config/nvim/lua/plugins/lsp.lua => neovim/.config/nvim/lua/plugins/lsp.lua +44 -32
@@ 1,9 1,5 @@
-- Setup nvim-cmp.
-local feedkey = function(key, mode)
- vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true), mode, true)
-end
-
-local cmp = require'cmp'
+local cmp = require 'cmp'
local capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities())
cmp.setup({
@@ 20,30 16,34 @@ cmp.setup({
-- completion = cmp.config.window.bordered(),
-- documentation = cmp.config.window.bordered(),
},
- mapping = cmp.mapping.preset.insert({
+ mapping = {
+ ['<C-n>'] = cmp.mapping.select_next_item(),
+ ['<C-p>'] = cmp.mapping.select_prev_item(),
['<C-b>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
- ['<C-Space>'] = cmp.mapping.complete(),
- ['<C-e>'] = cmp.mapping.abort(),
- ['<CR>'] = cmp.mapping.confirm({ select = false }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
["<Tab>"] = cmp.mapping(function(fallback)
- if cmp.visible() then
- cmp.select_next_item()
- elseif vim.fn["vsnip#available"](1) == 1 then
- feedkey("<Plug>(vsnip-expand-or-jump)", "")
- else
- fallback() -- The fallback function sends a already mapped key. In this case, it's probably `<Tab>`.
- end
- end, { "i", "s" }),
-
- ["<S-Tab>"] = cmp.mapping(function()
- if cmp.visible() then
- cmp.select_prev_item()
- elseif vim.fn["vsnip#jumpable"](-1) == 1 then
- feedkey("<Plug>(vsnip-jump-prev)", "")
- end
- end, { "i", "s" }),
- }),
+ -- This little snippet will confirm with tab, and if no entry is selected,
+ -- will confirm the first item. Use C-N and C-P to change selected.
+ if cmp.visible() then
+ local entry = cmp.get_selected_entry()
+ if not entry then
+ cmp.select_next_item({ behavior = cmp.SelectBehavior.Select })
+ else
+ cmp.confirm()
+ end
+ else
+ fallback()
+ end
+ end, { "i", "s" }),
+
+ ["<S-Tab>"] = cmp.mapping(function(fallback)
+ if cmp.visible() then
+ cmp.select_prev_item()
+ else
+ fallback()
+ end
+ end, { "i", "s" }),
+ },
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'vsnip' }, -- For vsnip users.
@@ 76,11 76,11 @@ cmp.setup.cmdline(':', {
-- LSP
local nvim_lsp = require("lspconfig")
-local on_attach = function(client, bufnr)
+local on_attach = function(_, bufnr)
local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
-- Mappings.
- local opts = { noremap=true, silent=true }
+ local opts = { noremap = true, silent = true }
buf_set_keymap('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
buf_set_keymap('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
@@ 116,6 116,18 @@ nvim_lsp.cssls.setup {
capabilities = capabilities
}
+nvim_lsp.sumneko_lua.setup {
+ on_attach = on_attach,
+ capabilities = capabilities,
+ settings = {
+ Lua = {
+ diagnostics = {
+ globals = { 'vim' }
+ }
+ }
+ }
+}
+
nvim_lsp.tsserver.setup({
capabilities = capabilities,
on_attach = function(client, bufnr)
@@ 159,7 171,7 @@ local jdtlsConfig = {
'-data', workspace_dir,
},
- root_dir = require('jdtls.setup').find_root({'.git', 'mvnw', 'gradlew'}),
+ root_dir = require('jdtls.setup').find_root({ '.git', 'mvnw', 'gradlew' }),
-- Here you can configure eclipse.jdt.ls specific settings
-- See https://github.com/eclipse/eclipse.jdt.ls/wiki/Running-the-JAVA-LS-server-from-the-command-line#initialize-request
@@ 186,8 198,8 @@ local jdtlsConfig = {
-- This starts a new client & server,
-- or attaches to an existing client & server depending on the `root_dir`.
vim.api.nvim_create_autocmd(
- "FileType",
- { pattern = "java" , callback = function() require('jdtls').start_or_attach(jdtlsConfig) end }
+ "FileType",
+ { pattern = "java", callback = function() require('jdtls').start_or_attach(jdtlsConfig) end }
)
local null_ls = require("null-ls")
@@ 195,7 207,7 @@ null_ls.setup({
sources = {
null_ls.builtins.diagnostics.shellcheck,
null_ls.builtins.formatting.shfmt,
- null_ls.builtins.formatting.prettier.with({extra_args = { "--use-tabs", "--no-semi" }}),
+ null_ls.builtins.formatting.prettier.with({ extra_args = { "--use-tabs", "--no-semi" } }),
},
on_attach = on_attach,
capabilities = capabilities
R neovim/.config/nvim/lua/plugins/theme.lua => neovim/.config/nvim/lua/plugins/theme.dark +1 -1
@@ 49,7 49,7 @@ require('lualine').setup {
},
sections = {
lualine_a = {'mode'},
- lualine_b = {'filename'},
+ lualine_b = {'filename' path = 1},
lualine_c = {{'b:gitsigns_head', icon = ''}},
lualine_x = {getWords},
lualine_y = {'diagnostics', 'filetype'},
A neovim/.config/nvim/lua/plugins/theme.light => neovim/.config/nvim/lua/plugins/theme.light +50 -0
@@ 0,0 1,50 @@
+local left = require('left')
+left.setup()
+local left_theme = left.lualine()
+
+local function lineCount()
+ local total = vim.api.nvim_buf_line_count(0)
+ return '%l' .. '/' .. total
+end
+
+local wcFiletypes = { 'md', 'markdown', 'txt', 'wiki' }
+local function getWords()
+ for _, v in pairs(wcFiletypes) do
+ if v == vim.bo.filetype then
+ if vim.fn.wordcount().visual_words == 1 then
+ return tostring(vim.fn.wordcount().visual_words) .. " word"
+ elseif not (vim.fn.wordcount().visual_words == nil) then
+ return tostring(vim.fn.wordcount().visual_words) .. " words"
+ else
+ return tostring(vim.fn.wordcount().words) .. " words"
+ end
+ end
+ end
+ return ""
+end
+
+-- NOTE: Load colorscheme before lualine
+require('lualine').setup {
+ options = {
+ theme = left_theme,
+ section_separators = { left = '', right = '' },
+ component_separators = { left = '', right = '' },
+ globalstatus = true,
+ },
+ sections = {
+ lualine_a = { 'mode' },
+ lualine_b = { { 'filename', path = 1 } },
+ lualine_c = { { 'b:gitsigns_head', icon = '' } },
+ lualine_x = { getWords },
+ lualine_y = { 'diagnostics', 'filetype' },
+ lualine_z = { lineCount }
+ },
+ inactive_sections = {
+ lualine_a = {},
+ lualine_b = {},
+ lualine_c = { 'filename' },
+ lualine_x = { 'location' },
+ lualine_y = {},
+ lualine_z = {}
+ },
+}
A neovim/.config/nvim/lua/plugins/theme.lua => neovim/.config/nvim/lua/plugins/theme.lua +1 -0
@@ 0,0 1,1 @@
+./theme.light<
\ No newline at end of file
M neovim/.config/nvim/lua/plugins/treesitter.lua => neovim/.config/nvim/lua/plugins/treesitter.lua +20 -14
@@ 1,42 1,48 @@
-require'nvim-treesitter.configs'.setup{
+require 'nvim-treesitter.configs'.setup {
highlight = {
enable = true,
},
textobjects = {
select = {
enable = true,
- disable = {"go"},
+ disable = { "go" },
-- Automatically jump forward to textobj, similar to targets.vim
lookahead = true,
keymaps = {
- -- You can use the capture groups defined in textobjects.scm
["af"] = "@function.outer",
["if"] = "@function.inner",
- ["ac"] = "@class.outer",
- ["ic"] = "@class.inner",
+ ["aF"] = "@class.outer",
+ ["iF"] = "@class.inner",
+ ["ac"] = "@comment.outer",
+ ["ic"] = "@comment.outer",
+ -- markdown
+ ["il"] = "@list_item.inner",
+ ["al"] = "@list_item.outer",
+ ["iC"] = "@code_block.inner", -- Doesn't apply to wiki.vim
+ ["aC"] = "@code_block.outer", -- But wiki-ft has this too!
},
},
move = {
enable = true,
- disable = {"go"},
+ disable = { "go" },
set_jumps = true, -- whether to set jumps in the jumplist
goto_next_start = {
- ["]m"] = "@function.outer",
- ["]]"] = "@class.outer",
+ ["]]"] = "@function.outer",
+ ["]m"] = "@class.outer",
},
goto_next_end = {
- ["]M"] = "@function.outer",
- ["]["] = "@class.outer",
+ ["]["] = "@function.outer",
+ ["]M"] = "@class.outer",
},
goto_previous_start = {
- ["[m"] = "@function.outer",
- ["[["] = "@class.outer",
+ ["[["] = "@function.outer",
+ ["[m"] = "@class.outer",
},
goto_previous_end = {
- ["[M"] = "@function.outer",
- ["[]"] = "@class.outer",
+ ["[]"] = "@function.outer",
+ ["[M"] = "@class.outer",
},
},
},
M neovim/.config/nvim/lua/settings.lua => neovim/.config/nvim/lua/settings.lua +11 -9
@@ 1,6 1,5 @@
local o = vim.o
local g = vim.g
-local cmd = vim.cmd
local autocmd = vim.api.nvim_create_autocmd
-- EXPERIMENTAL: Use filetype.lua instead of filetype.vim
@@ 22,6 21,9 @@ o.background = "dark"
g.loaded_netrwPlugin = 1
g.loaded_netrw = 1
+-- Use matchup instead of matchit
+g.loaded_matchit = 1
+
-- Enable persistent undo
o.undofile = true
@@ 29,7 31,7 @@ o.undofile = true
o.writebackup = false
-- Traverse lines with arrow keys
-o.whichwrap = "b,s,<,>,[,]"
+vim.o.whichwrap = "b,s,<,>,[,]"
-- Indentation settings for using hard tabs for indent
o.softtabstop = 4
@@ 52,29 54,29 @@ o.clipboard = "unnamed" -- Set the default register to * so I can have a shared
o.signcolumn = "yes" -- Always use signcolumn
o.diffopt = "filler,internal,algorithm:histogram,indent-heuristic" -- Enable nvim diffing
o.updatetime = 100 -- Faster responce time
-o.confirm = true-- Show a dialog to confirm changes instead of failure
+o.confirm = true -- Show a dialog to confirm changes instead of failure
o.mouse = "a" -- Enable use of the mouse for all modes
o.foldlevelstart = 99 -- Open all folds by default
o.breakindent = true -- Multiline indenting
-- Disable line ending diagnotic messages
vim.diagnostic.config({
- virtual_text = false,
+ virtual_text = false,
})
-- Restore cursor position
autocmd('BufReadPost', {
- pattern = '*',
- callback = function()
- vim.fn.setpos(".", vim.fn.getpos("'\""))
- end,
+ pattern = '*',
+ callback = function()
+ vim.fn.setpos(".", vim.fn.getpos("'\""))
+ end,
})
-- Highlight on yank
autocmd('TextYankPost', {
pattern = '*',
callback = function()
- vim.highlight.on_yank {higroup="IncSearch", timeout=350}
+ vim.highlight.on_yank { higroup = "IncSearch", timeout = 350 }
end,
})
A neovim/.config/nvim/queries/markdown/textobjects.scm => neovim/.config/nvim/queries/markdown/textobjects.scm +7 -0
@@ 0,0 1,7 @@
+(list_item
+ (paragraph)@list_item.inner
+)@list_item.outer
+
+(fenced_code_block
+ (code_fence_content)@code_block.inner
+)@code_block.outer
A neovim/.config/nvim/spell/en.utf-8.add => neovim/.config/nvim/spell/en.utf-8.add +2 -0
@@ 0,0 1,2 @@
+A5
+macrocarpa
A neovim/.config/nvim/spell/en.utf-8.add.spl => neovim/.config/nvim/spell/en.utf-8.add.spl +0 -0