Starts moving nvim config to lua
This commit is contained in:
parent
b039bf70fd
commit
954642753f
53 changed files with 548 additions and 541 deletions
66
.gitmodules
vendored
66
.gitmodules
vendored
|
@ -16,69 +16,3 @@
|
|||
[submodule "shells/zsh/plugins/git-fuzzy"]
|
||||
path = shells/zsh/plugins/git-fuzzy
|
||||
url = https://github.com/bigH/git-fuzzy
|
||||
[submodule "nvim/.config/nvim/pack/opt/gruvbox"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/gruvbox
|
||||
url = https://github.com/morhetz/gruvbox.git
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/fzf.vim"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/fzf.vim
|
||||
url = https://github.com/junegunn/fzf.vim
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/vim-tridactyl"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/vim-tridactyl
|
||||
url = https://github.com/tridactyl/vim-tridactyl
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/vim-less"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/vim-less
|
||||
url = https://github.com/groenewege/vim-less
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/vim-json"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/vim-json
|
||||
url = https://github.com/elzr/vim-json
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/vim-vinegar"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/vim-vinegar
|
||||
url = https://github.com/tpope/vim-vinegar
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/vim-surround"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/vim-surround
|
||||
url = https://github.com/tpope/vim-surround
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/vim-repeat"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/vim-repeat
|
||||
url = https://github.com/tpope/vim-repeat
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/nvim-lspconfig"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/nvim-lspconfig
|
||||
url = https://github.com/neovim/nvim-lspconfig/
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/deoplete.nvim"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/deoplete.nvim
|
||||
url = https://github.com/Shougo/deoplete.nvim
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/deoplete-notmuch"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/deoplete-notmuch
|
||||
url = https://github.com/paretje/deoplete-notmuch
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/deoplete-lsp"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/deoplete-lsp
|
||||
url = https://github.com/Shougo/deoplete-lsp
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/vim-fugitive"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/vim-fugitive
|
||||
url = https://github.com/tpope/vim-fugitive
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/AnsiEsc.vim"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/AnsiEsc.vim
|
||||
url = https://github.com/vim-scripts/AnsiEsc.vim
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/firenvim"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/firenvim
|
||||
url = https://github.com/glacambre/firenvim
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/ultisnips"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/ultisnips
|
||||
url = https://github.com/SirVer/ultisnips
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/vim-snippets"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/vim-snippets
|
||||
url = https://github.com/honza/vim-snippets
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/lexima.vim"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/lexima.vim
|
||||
url = https://github.com/cohama/lexima.vim
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/nvim-treesitter"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/nvim-treesitter
|
||||
url = https://github.com/nvim-treesitter/nvim-treesitter
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/vim-projectionist"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/vim-projectionist
|
||||
url = https://github.com/tpope/vim-projectionist
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/gruvbox-baby"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/gruvbox-baby
|
||||
url = https://github.com/luisiacc/gruvbox-baby
|
||||
[submodule "nvim/.config/nvim/pack/bundle/opt/vim-openscad"]
|
||||
path = nvim/.config/nvim/pack/bundle/opt/vim-openscad
|
||||
url = https://github.com/sirtaj/vim-openscad
|
||||
|
|
|
@ -9,11 +9,12 @@ lua <<EOF
|
|||
-- Bash Language Server
|
||||
require'lspconfig'.bashls.setup{}
|
||||
-- Clang Language Server
|
||||
require'lspconfig'.ccls.setup{}
|
||||
--require'lspconfig'.ccls.setup{}
|
||||
require'lspconfig'.clangd.setup{}
|
||||
-- Go Language Server
|
||||
require'lspconfig'.gopls.setup{}
|
||||
-- Python Language Server
|
||||
--require'lspconfig'.pyls.setup{}
|
||||
require'lspconfig'.pylsp.setup{}
|
||||
-- Vim Language Server
|
||||
require'lspconfig'.vimls.setup{}
|
||||
-- VUE Language Server
|
0
nvim/.config/nvim/after.old/plugin/test.md
Normal file
0
nvim/.config/nvim/after.old/plugin/test.md
Normal file
83
nvim/.config/nvim/init.lua
Normal file
83
nvim/.config/nvim/init.lua
Normal file
|
@ -0,0 +1,83 @@
|
|||
-- Set leader and localleader here as a numeber of plugins will use them
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = "\\"
|
||||
|
||||
vim.cmd([[
|
||||
syntax on
|
||||
filetype indent plugin on
|
||||
]])
|
||||
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require("lazy").setup("plugins")
|
||||
-- require("lazy").setup({ {
|
||||
-- "ellisonleao/gruvbox.nvim",
|
||||
-- lazy = false,
|
||||
-- priority=1000
|
||||
-- },{
|
||||
-- "nvim-treesitter/nvim-treesitter",
|
||||
-- build = ":TSUpdate"
|
||||
-- }
|
||||
-- })
|
||||
--
|
||||
vim.cmd("colorscheme gruvbox")
|
||||
|
||||
vim.cmd([[
|
||||
|
||||
|
||||
"if has('packages')
|
||||
" packadd! AnsiEsc.vim
|
||||
" packadd! fzf.vim
|
||||
" packadd! gruvbox
|
||||
" packadd! gruvbox-baby
|
||||
" packadd! lexima.vim
|
||||
" packadd! loupe
|
||||
" packadd! ultisnips
|
||||
" packadd! vim-fugitive
|
||||
" packadd! vim-json
|
||||
" packadd! vim-less
|
||||
" packadd! vim-projectionist
|
||||
" packadd! vim-repeat
|
||||
" packadd! vim-snippets
|
||||
" packadd! vim-surround
|
||||
" packadd! vim-tridactyl
|
||||
" packadd! vim-vinegar
|
||||
" packadd! vim-openscad
|
||||
" if has('nvim')
|
||||
" packadd! deoplete.nvim
|
||||
" packadd! deoplete-abook
|
||||
" packadd! deoplete-lsp
|
||||
" packadd! deoplete-notmuch
|
||||
" packadd! firenvim
|
||||
" packadd! nvim-treesitter
|
||||
" " packadd! nvim-biscuits
|
||||
" lua <<EOF
|
||||
" if ( vim.lsp ~= nil ) then
|
||||
" vim.cmd "packadd! nvim-lspconfig"
|
||||
" end
|
||||
"EOF
|
||||
" endif
|
||||
"endif
|
||||
|
||||
" Enables filetype detection as well as filetype specific indent rules and plugins
|
||||
"filetype indent plugin on
|
||||
" Enables filetype specific syntaxs
|
||||
|
||||
"syntax on
|
||||
|
||||
""let g:UltiSnipsExpandTrigger="<tab>"
|
||||
""let g:UltiSnipsJumpForwardTrigger="<tab>"
|
||||
""let g:UltiSnipsJumpBackwardTrigger="<S-tab>"
|
||||
|
||||
]])
|
|
@ -1,46 +0,0 @@
|
|||
let mapleader = "\<Space>"
|
||||
let maplocalleader = "\\"
|
||||
|
||||
|
||||
if has('packages')
|
||||
packadd! AnsiEsc.vim
|
||||
packadd! fzf.vim
|
||||
packadd! gruvbox
|
||||
packadd! lexima.vim
|
||||
packadd! ultisnips
|
||||
packadd! vim-fugitive
|
||||
packadd! vim-json
|
||||
packadd! vim-less
|
||||
packadd! vim-projectionist
|
||||
packadd! vim-repeat
|
||||
packadd! vim-snippets
|
||||
packadd! vim-surround
|
||||
packadd! vim-tridactyl
|
||||
packadd! vim-vinegar
|
||||
if has('nvim')
|
||||
packadd! deoplete.nvim
|
||||
packadd! deoplete-abook
|
||||
packadd! deoplete-lsp
|
||||
packadd! deoplete-notmuch
|
||||
packadd! firenvim
|
||||
packadd! nvim-treesitter
|
||||
packadd! nvim-biscuits
|
||||
lua <<EOF
|
||||
if ( vim.lsp ~= nil ) then
|
||||
vim.cmd "packadd! nvim-lspconfig"
|
||||
end
|
||||
EOF
|
||||
endif
|
||||
endif
|
||||
|
||||
" Enables filetype detection as well as filetype specific indent rules and
|
||||
" plugins
|
||||
filetype indent plugin on "
|
||||
" Enables filetype specific syntaxs
|
||||
syntax on
|
||||
|
||||
let g:UltiSnipsExpandTrigger="<tab>"
|
||||
let g:UltiSnipsJumpForwardTrigger="<tab>"
|
||||
let g:UltiSnipsJumpBackwardTrigger="<S-tab>"
|
||||
|
||||
|
19
nvim/.config/nvim/lazy-lock.json
Normal file
19
nvim/.config/nvim/lazy-lock.json
Normal file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "0df29db3543837f8b41597f2640397c5ec792b7b" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "53d3df271d031c405255e99410628c26a8f0d2b0" },
|
||||
"fzf": { "branch": "master", "commit": "82954258c1c9f61bb6bb764c51470ffbcee01b6c" },
|
||||
"fzf.vim": { "branch": "master", "commit": "1e054c1d075d87903647db9320116d360eb8b024" },
|
||||
"gruvbox.nvim": { "branch": "main", "commit": "0940564208a490c173216c3b7d2188b0a5ad3491" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "41d7633e4146dce1072de32cea31ee31b056a131" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "bd405e45c5fb122c16af8f87fa2dd7ab1981b243" },
|
||||
"nvim-surround": { "branch": "main", "commit": "633a0ab03159569a66b65671b0ffb1a6aed6cf18" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "a6c655629cad421e432aa84af32cbfe35375113a" },
|
||||
"ultimate-autopair.nvim": { "branch": "v0.6", "commit": "41d8b52183df39096d5a2918467cd6266282f64b" },
|
||||
"vim-fugitive": { "branch": "master", "commit": "46eaf8918b347906789df296143117774e827616" }
|
||||
}
|
107
nvim/.config/nvim/lua/plugins/cmp.lua
Normal file
107
nvim/.config/nvim/lua/plugins/cmp.lua
Normal file
|
@ -0,0 +1,107 @@
|
|||
return {{
|
||||
"neovim/nvim-lspconfig",
|
||||
dependencies={
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
},
|
||||
config=function()
|
||||
local servers = { 'lua_ls', 'vimls', 'bashls', 'vale_ls' }
|
||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||
for _, lsp in ipairs(servers) do
|
||||
require('lspconfig')[lsp].setup {
|
||||
capabilities = capabilities,
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
-- Use LspAttach autocommand to only map the following keys
|
||||
-- after the language server attaches to the current buffer
|
||||
vim.api.nvim_create_autocmd('LspAttach', {
|
||||
group = vim.api.nvim_create_augroup('UserLspConfig', {}),
|
||||
callback = function(ev)
|
||||
-- Enable completion triggered by <c-x><c-o>
|
||||
vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc'
|
||||
|
||||
-- Buffer local mappings.
|
||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||
local opts = { buffer = ev.buf }
|
||||
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts)
|
||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts)
|
||||
vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts)
|
||||
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts)
|
||||
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, opts)
|
||||
vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, opts)
|
||||
vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, opts)
|
||||
vim.keymap.set('n', '<space>wl', function()
|
||||
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||
end, opts)
|
||||
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, opts)
|
||||
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, opts)
|
||||
vim.keymap.set({ 'n', 'v' }, '<space>ca', vim.lsp.buf.code_action, opts)
|
||||
vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts)
|
||||
--vim.keymap.set('n', '<space>f', function()
|
||||
-- vim.lsp.buf.format { async = true }
|
||||
--end, opts)
|
||||
end,
|
||||
})
|
||||
|
||||
end,
|
||||
--},{
|
||||
-- "L3MON4D3/LuaSnip",
|
||||
-- dependencies={
|
||||
-- "saadparwaiz1/cmp_luasnip",
|
||||
-- "rafamadriz/friendly-snippets"
|
||||
-- },
|
||||
-- config=function ()
|
||||
-- require("luasnip.loaders.from_vscode").lazy_load()
|
||||
-- end,
|
||||
-- keys = {
|
||||
-- { "<tab>", function ()
|
||||
-- return require("luasnip").jumpable(1) and "<Plug>luasnip-jump-next" or "<tab>"
|
||||
-- end, expr = true, silent = true, mode = "i"
|
||||
-- },
|
||||
-- { "<tab>", function() require("luasnip").jump(1) end, mode = "s" },
|
||||
-- { "<s-tab>", function() require("luasnip").jump(-1) end, mode = { "i", "s" } },
|
||||
-- }
|
||||
},{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies={
|
||||
"neovim/nvim-lspconfig",
|
||||
--"L3MON4D3/LuaSnip",
|
||||
"saadparwaiz1/cmp_luasnip",
|
||||
"hrsh7th/cmp-buffer",
|
||||
"hrsh7th/cmp-path",
|
||||
"hrsh7th/cmp-cmdline",
|
||||
},
|
||||
opts=function()
|
||||
local cmp = require("cmp")
|
||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||
|
||||
return {
|
||||
snippet = {
|
||||
-- REQUIRED - you must specify a snippet engine
|
||||
expand = function(args)
|
||||
--vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
|
||||
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
|
||||
-- require('snippy').expand_snippet(args.body) -- For `snippy` users.
|
||||
-- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users.
|
||||
end,
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
['<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 = true }),
|
||||
}),
|
||||
sources = cmp.config.sources({
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "luasnip" },
|
||||
{ name = "path" },
|
||||
{ name = "buffer" }
|
||||
})
|
||||
}
|
||||
end
|
||||
}}
|
||||
|
||||
|
||||
|
25
nvim/.config/nvim/lua/plugins/fzf.lua
Normal file
25
nvim/.config/nvim/lua/plugins/fzf.lua
Normal file
|
@ -0,0 +1,25 @@
|
|||
return{ {
|
||||
"junegunn/fzf.vim",
|
||||
dependencies="junegunn/fzf",
|
||||
init = function( lazy )
|
||||
vim.g.fzf_command_prefix="Fzf"
|
||||
end,
|
||||
config = function( lazy, opts)
|
||||
vim.g.fzf_layout = {
|
||||
window = {
|
||||
width= 0.9,
|
||||
height=0.8
|
||||
}
|
||||
}
|
||||
|
||||
vim.keymap.set('n', '<leader>f', ':FzfFiles<cr>', {desc="Fuzzy find files"})
|
||||
vim.keymap.set('n', '<leader>b', ':FzfBuffers<cr>', {desc="Fuzzy find buffers"})
|
||||
vim.keymap.set('n', '<leader>h', ':FzfHelptags<cr>', {desc="Fuzzy find help tags"})
|
||||
vim.keymap.set('n', '<leader>/', ':FzfRg ', {desc="Fuzzy find RG"})
|
||||
vim.keymap.set('n', '\\/', ':FzfRg ^#<cr> ', {desc="Fuzzy find headings"})
|
||||
|
||||
end
|
||||
} }
|
||||
|
||||
|
||||
|
21
nvim/.config/nvim/lua/plugins/gruvbox.lua
Normal file
21
nvim/.config/nvim/lua/plugins/gruvbox.lua
Normal file
|
@ -0,0 +1,21 @@
|
|||
return {{
|
||||
"ellisonleao/gruvbox.nvim",
|
||||
lazy = false,
|
||||
priority=1000,
|
||||
opts={
|
||||
terminal_colors = true,
|
||||
italic = {
|
||||
strings = false,
|
||||
emphasis = false,
|
||||
comments = true,
|
||||
operators = false,
|
||||
folds = true,
|
||||
}
|
||||
}
|
||||
}}
|
||||
|
||||
-- Colourscheme settings
|
||||
-- vim.g.gruvbox_italic=1
|
||||
-- vim.g.gruvbox_hls_cursor="red"
|
||||
-- vim.opt.termguicolors=true
|
||||
--vim.cmd('colorscheme gruvbox')
|
3
nvim/.config/nvim/lua/plugins/init.lua
Normal file
3
nvim/.config/nvim/lua/plugins/init.lua
Normal file
|
@ -0,0 +1,3 @@
|
|||
return { {
|
||||
"tpope/vim-fugitive"
|
||||
} }
|
4
nvim/.config/nvim/lua/plugins/surround.lua
Normal file
4
nvim/.config/nvim/lua/plugins/surround.lua
Normal file
|
@ -0,0 +1,4 @@
|
|||
return {{
|
||||
"kylechui/nvim-surround",
|
||||
opts={}
|
||||
}}
|
14
nvim/.config/nvim/lua/plugins/treesitter.lua
Normal file
14
nvim/.config/nvim/lua/plugins/treesitter.lua
Normal file
|
@ -0,0 +1,14 @@
|
|||
return {{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = ":TSUpdate",
|
||||
opts = {
|
||||
ensure_installed = "all",
|
||||
highlight = {
|
||||
enable = true
|
||||
},
|
||||
indent = {
|
||||
enable = true
|
||||
}
|
||||
}
|
||||
|
||||
}}
|
11
nvim/.config/nvim/lua/plugins/ultimate-autopair.lua
Normal file
11
nvim/.config/nvim/lua/plugins/ultimate-autopair.lua
Normal file
|
@ -0,0 +1,11 @@
|
|||
return {{
|
||||
'altermo/ultimate-autopair.nvim',
|
||||
event={'InsertEnter','CmdlineEnter'},
|
||||
branch='v0.6', --recomended as each new version will have breaking changes
|
||||
opts={
|
||||
tabout={
|
||||
enable=true
|
||||
}
|
||||
},
|
||||
}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
Subproject commit d2bb7878622e4c16203acf1c92a0f4bc7ac58003
|
|
@ -1,4 +0,0 @@
|
|||
[flake8]
|
||||
exclude = .git,__pycache__,autoload,doc
|
||||
max-complexity = 10
|
||||
max-line-length = 100
|
|
@ -1,21 +0,0 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2017 Filip Szymański
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
|
@ -1,19 +0,0 @@
|
|||
# deoplete-abook
|
||||
|
||||
`Deoplete-abook` offers asynchronous completion of email addresses in [Mutt](http://www.mutt.org/) using [abook](http://abook.sourceforge.net/) contacts stored in a plain text database.
|
||||
Inspired by [Greg Hurrell's](https://github.com/wincent) Vim screencast [#58](https://www.youtube.com/watch?v=BNnSjJOpXDk).
|
||||
|
||||
## Installation
|
||||
|
||||
To install `deoplete-abook`, use your favorite [Neovim](https://neovim.io/) plugin manager.
|
||||
|
||||
#### Using [vim-plug](https://github.com/junegunn/vim-plug)
|
||||
|
||||
```vim
|
||||
Plug 'Shougo/deoplete.nvim', {'do': ':UpdateRemotePlugins'}
|
||||
Plug 'fszymanski/deoplete-abook'
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
For more information, see `:help deoplete_abook.txt`.
|
|
@ -1,35 +0,0 @@
|
|||
scriptencoding utf-8
|
||||
|
||||
" Copyright (c) 2017 Filip Szymański. All rights reserved.
|
||||
" Use of this source code is governed by an MIT license that can be
|
||||
" found in the LICENSE file.
|
||||
|
||||
function! s:check_deoplete() abort
|
||||
if !empty(globpath(&runtimepath, 'plugin/deoplete.vim'))
|
||||
call health#report_ok('Deoplete plugin is installed')
|
||||
else
|
||||
call health#report_error('Deoplete plugin is not installed', [
|
||||
\ 'The deoplete plugin can be found here: ' .
|
||||
\ 'https://github.com/Shougo/deoplete.nvim'
|
||||
\ ])
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:check_addressbook() abort
|
||||
let datafile = get(g:, 'deoplete#sources#abook#datafile',
|
||||
\ expand('~/.abook/addressbook'))
|
||||
if filereadable(datafile)
|
||||
call health#report_ok('Addressbook file was found: ' . datafile)
|
||||
else
|
||||
call health#report_error('Addressbook file was not found',
|
||||
\ ['help: deoplete_abook.txt'])
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! health#deoplete_abook#check() abort
|
||||
call health#report_start('Dependencies')
|
||||
call s:check_deoplete()
|
||||
call s:check_addressbook()
|
||||
endfunction
|
||||
|
||||
" vim: ts=2 et sw=2
|
|
@ -1,61 +0,0 @@
|
|||
*deoplete_abook.txt* Deoplete source for abook contacts
|
||||
|
||||
Author: Filip Szymański <filip.szymanski@zoho.eu>
|
||||
|
||||
==============================================================================
|
||||
CONTENTS *deoplete-abook-contents*
|
||||
|
||||
1. Introduction |deoplete-abook-introduction|
|
||||
2. Configuration |deoplete-abook-configuration|
|
||||
3. License |deoplete-abook-license|
|
||||
4. Bugs |deoplete-abook-bugs|
|
||||
5. Contributing |deoplete-abook-contributing|
|
||||
|
||||
==============================================================================
|
||||
INTRODUCTION *deoplete-abook-introduction*
|
||||
|
||||
This deoplete[1] source offers asynchronous completion of email addresses
|
||||
in Mutt[2] using abook[3] contacts stored in a plain text database.
|
||||
|
||||
Note: Inspired by Greg Hurrell's[4] Vim screencast #58[5].
|
||||
|
||||
==============================================================================
|
||||
CONFIGURATION *deoplete-abook-configuration*
|
||||
|
||||
*g:deoplete#sources#abook#datafile*
|
||||
Set this option to use an alternative addressbook file.
|
||||
>
|
||||
let g:deoplete#sources#abook#datafile = expand('~/path/to/addressbook')
|
||||
<
|
||||
Default: '~/.abook/addressbook'
|
||||
Type: string
|
||||
|
||||
==============================================================================
|
||||
LICENSE *deoplete-abook-license*
|
||||
|
||||
MIT
|
||||
|
||||
==============================================================================
|
||||
BUGS *deoplete-abook-bugs*
|
||||
|
||||
If you find a bug please create an issue on GitHub.
|
||||
|
||||
https://github.com/fszymanski/deoplete-abook/issues
|
||||
|
||||
==============================================================================
|
||||
CONTRIBUTING *deoplete-abook-contributing*
|
||||
|
||||
Think you can make this plugin better? Awesome. Fork it on GitHub and create
|
||||
a pull request.
|
||||
|
||||
https://github.com/fszymanski/deoplete-abook
|
||||
|
||||
==============================================================================
|
||||
|
||||
[1] https://github.com/Shougo/deoplete.nvim
|
||||
[2] http://www.mutt.org/
|
||||
[3] http://abook.sourceforge.net/
|
||||
[4] https://github.com/wincent
|
||||
[5] https://www.youtube.com/watch?v=BNnSjJOpXDk
|
||||
|
||||
vim: tw=78 ts=8 ft=help norl
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,64 +0,0 @@
|
|||
# Copyright (c) 2017 Filip Szymański. All rights reserved.
|
||||
# Use of this source code is governed by an MIT license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
import configparser
|
||||
import os.path
|
||||
import re
|
||||
|
||||
from .base import Base # pylint: disable=E0401
|
||||
|
||||
|
||||
# pylint: disable=W0201,W0613
|
||||
class Source(Base):
|
||||
COLON_PATTERN = re.compile(r':\s?')
|
||||
COMMA_PATTERN = re.compile(r'.+,\s?')
|
||||
HEADER_PATTERN = re.compile(r'^(Bcc|Cc|From|Reply-To|To):(\s?|.+,\s?)')
|
||||
|
||||
def __init__(self, vim):
|
||||
super().__init__(vim)
|
||||
|
||||
self.__cache = []
|
||||
|
||||
self.filetypes = ['mail']
|
||||
self.mark = '[abook]'
|
||||
self.matchers = ['matcher_length', 'matcher_full_fuzzy']
|
||||
self.min_pattern_length = 0
|
||||
self.name = 'abook'
|
||||
|
||||
def on_init(self, context):
|
||||
self.__datafile = context['vars'].get('deoplete#sources#abook#datafile',
|
||||
os.path.expanduser('~/.abook/addressbook'))
|
||||
if not os.path.isfile(self.__datafile):
|
||||
self.vim.err_write('[deoplete-abook] No such file: {0}\n'.format(self.__datafile))
|
||||
|
||||
def on_event(self, context):
|
||||
self.__make_cache()
|
||||
|
||||
def gather_candidates(self, context):
|
||||
if self.HEADER_PATTERN.search(context['input']) is not None:
|
||||
if not self.__cache:
|
||||
self.__make_cache()
|
||||
|
||||
return self.__cache
|
||||
|
||||
def get_complete_position(self, context):
|
||||
colon = self.COLON_PATTERN.search(context['input'])
|
||||
comma = self.COMMA_PATTERN.search(context['input'])
|
||||
return max(colon.end() if colon is not None else -1,
|
||||
comma.end() if comma is not None else -1)
|
||||
|
||||
def __make_cache(self):
|
||||
addressbook = configparser.ConfigParser()
|
||||
addressbook.read(self.__datafile)
|
||||
for section in addressbook.sections():
|
||||
emails = addressbook.get(section, 'email', fallback=None)
|
||||
if emails is not None:
|
||||
name = addressbook.get(section, 'name', fallback=None)
|
||||
for email in emails.split(','):
|
||||
if name is not None:
|
||||
email = '"{0}" <{1}>'.format(name, email)
|
||||
|
||||
self.__cache.append({'word': email})
|
||||
|
||||
# vim: ts=4 et sw=4
|
|
@ -1 +0,0 @@
|
|||
Subproject commit f3d1f14fa8a8cf882be39605fb037ee982c3f37c
|
|
@ -1 +0,0 @@
|
|||
Subproject commit d582895f0e4e7bcc40e43ac2cb357afecfe5eda8
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 1c40f648d2b00e70beb4c473b7c0e32b633bd9ae
|
|
@ -1 +0,0 @@
|
|||
Subproject commit ff6b8f022213c3d758478dad85d35febf92225e5
|
|
@ -1 +0,0 @@
|
|||
Subproject commit d6aa21476b2854694e6aa7b0941b8992a906c5ec
|
|
@ -1 +0,0 @@
|
|||
Subproject commit bf2885a95efdad7bd5e4794dd0213917770d79b7
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 5bda65472020c62def1ca52e6de2c0c5ba47fc7a
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 99ece6758ec49b04de983873e4117a390121fbb8
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 06e54cdfa38c2129bc555b6ee77d4086c3a74e5c
|
|
@ -1 +0,0 @@
|
|||
Subproject commit dd4e62324ab1607aefdbeddc776489cf9826ee6e
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 53e1921e3ef015ef658e540c0aa9c4835f9c18a6
|
|
@ -1 +0,0 @@
|
|||
Subproject commit f9c0b8eafea641ba27fd261b2b244944f87e6fd4
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 3727f089410e23ae113be6222e8a08dd2613ecf2
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 6e818d5614d5fc18d95a48c92b89e6db39f9e3d6
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 11ed125209e2277d439cf6d0340c6fca263cb09b
|
|
@ -1 +0,0 @@
|
|||
Subproject commit ddfa49f9ece73aca44d2b45d693e7b58adbf8f8c
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 24afe922e6a05891756ecf331f39a1f6743d3d5a
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 43ed873ba09ac2d71992e773c68c75c6b85686c7
|
|
@ -1 +0,0 @@
|
|||
Subproject commit aeb933272e72617f7c4d35e1f003be16836b948d
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 784794dd8854b1eee2a9e718b8b1d941a20516b6
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 43576e84d3034bccb1216f39f51ed36d945d7b96
|
|
@ -1,22 +0,0 @@
|
|||
" Prefixes all of the fzf commands
|
||||
let g:fzf_command_prefix = 'Fzf'
|
||||
|
||||
let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.8 } }
|
||||
|
||||
" Mappings for common Fzf commands
|
||||
nnoremap <leader>f = :FzfFiles<cr>
|
||||
nnoremap <leader>b = :FzfBuffers<cr>
|
||||
nnoremap <leader>h = :FzfHelptags<cr>
|
||||
" The space is important at the end of this mapping
|
||||
nnoremap <leader>/ = :FzfRg
|
||||
|
||||
function! s:read_template_into_buffer(template)
|
||||
" has to be a function to avoid the extra space fzf#run insers otherwise
|
||||
execute '0r ~/Templates/'.a:template
|
||||
endfunction
|
||||
|
||||
command! -bang -nargs=* LoadTemplate call fzf#run({
|
||||
\ 'source': 'ls -1 ~/Templates',
|
||||
\ 'down': 20,
|
||||
\ 'sink': function('<sid>read_template_into_buffer')
|
||||
\ })
|
125
nvim/.config/nvim/plugin/mappings.lua
Normal file
125
nvim/.config/nvim/plugin/mappings.lua
Normal file
|
@ -0,0 +1,125 @@
|
|||
|
||||
|
||||
-- Swap : and ; in normal mode
|
||||
vim.keymap.set('n', ';',':', {desc="Swaps semi colon to colon"})
|
||||
vim.keymap.set('n', ':',';', {desc="Swaps semi colon to colon"})
|
||||
|
||||
-- Swap : and ; in visual mode
|
||||
vim.keymap.set('v', ';',':', {desc="Swaps semi colon to colon"})
|
||||
vim.keymap.set('v', ':',';', {desc="Swaps semi colon to colon"})
|
||||
|
||||
-- Make jj in insert mode go to normal mode
|
||||
vim.keymap.set('i', 'jj','<Esc>', {desc="jj to escape"})
|
||||
|
||||
|
||||
-- Make ctrl+hjkl change focus between windows
|
||||
vim.keymap.set('n', '<c-h>','<c-w>h', {desc="Move to left window"})
|
||||
vim.keymap.set('n', '<c-j>','<c-w>j', {desc="Move to below window"})
|
||||
vim.keymap.set('n', '<c-k>','<c-w>k', {desc="Move to above window"})
|
||||
vim.keymap.set('n', '<c-l>','<c-w>l', {desc="Move to left window"})
|
||||
|
||||
if vim.fn.has('clipboard') == 1 then
|
||||
vim.keymap.set('v', '<c-c>','"+y"', {desc="Copy to system clipboard"})
|
||||
vim.keymap.set('i', '<c-v>','<Esc>"+pa', {desc="Paste from system clipboard"})
|
||||
end
|
||||
|
||||
|
||||
-- Fix previous spelling mistake in insert mode
|
||||
-- Shamelessly taken from https://castel.dev/post/lecture-notes-1/
|
||||
-- <c-g>u - break undo sequence (new change)
|
||||
-- <Esc> - go into normal mode
|
||||
-- [s - go to previous spelling mistake
|
||||
-- 1z= - change to the top spelling suggestion
|
||||
-- `] - go to the end of the last changed word
|
||||
-- a - enter insert mode
|
||||
-- <c-g>u - break undo sequence (new change)
|
||||
vim.keymap.set('i', '<c-l>','<c-g>u<Esc>[s1z=`]a<c-g>u', {desc="Fix previous spelling mistake"})
|
||||
|
||||
-- Do Shebang line
|
||||
-- <Esc> - go into normal mode
|
||||
-- :silent - run command silently
|
||||
-- s/^/…/ - write at the begining of the line
|
||||
-- <bar> - used to seperate commands
|
||||
-- filetype detect - attempt to detect filetype again
|
||||
-- :nohlsearch - un-hilight the search pattern
|
||||
vim.keymap.set('i', '<C-y>', '<Esc>:silent s/^/#!\\/usr\\/bin\\/env / <bar> filetype detect<cr>:nohlsearch<cr>o', {desc="do shebang line"})
|
||||
|
||||
|
||||
-- Makes delete key work properly in insert mode
|
||||
vim.keymap.set('i', '<del>', '<Right><BS>', {desc="Delete next character"})
|
||||
|
||||
|
||||
|
||||
-- Compiles documents
|
||||
-- The uppercase versions don't push enter an extra time resulting in seeing
|
||||
-- the output of the compile command. Useful for debugging
|
||||
vim.keymap.set('n', '<leader>cc', ':w! | !compiler "<c-r>%"<CR><CR>' )
|
||||
vim.keymap.set('n', '<leader>cC', ':w! | !compiler "<c-r>%"<CR>' )
|
||||
vim.keymap.set('n', '<leader>cl', ':w! | !compiler "<c-r>%" letter<CR><CR>' )
|
||||
vim.keymap.set('n', '<leader>cL', ':w! | !compiler "<c-r>%" letter<CR>' )
|
||||
vim.keymap.set('n', '<leader>cf', ':w! | !rt partialPdf --overwrite "<c-r>%" <CR><CR>' )
|
||||
vim.keymap.set('n', '<leader>cF', ':w! | !rt partialPdf --overwrite "<c-r>%" <CR>' )
|
||||
vim.keymap.set('n', '<leader>Cf', ':w! | !rt fullReport . --overwrite <CR><CR>' )
|
||||
vim.keymap.set('n', '<leader>CF', ':w! | !rt fullReport . --overwrite <CR>' )
|
||||
|
||||
-- Opens the compiled documents
|
||||
-- If something like html, it doesn't need to be compiled first
|
||||
vim.keymap.set('n', '<leader>co', ':!opout "<c-r>%"<CR><CR>', {desc="open compiled document"})
|
||||
|
||||
-- Makes vim default to very magic searching
|
||||
vim.keymap.set({'n','v'}, '/', '/\\v', {desc="very magic search"})
|
||||
|
||||
-- re-select visual selection when using < or >
|
||||
vim.keymap.set('v', '<', '<gv', {desc="Reduce indent and re-select"})
|
||||
vim.keymap.set('v', '>', '>gv', {desc="Increase indent and re-select"})
|
||||
|
||||
|
||||
-- Easy quickfix jumping
|
||||
-- zO - Opens folds
|
||||
-- zz - Centers vertically
|
||||
vim.keymap.set('n', '[c', ':cprevious<cr>zOzz', {desc="previous quickfix"})
|
||||
vim.keymap.set('n', ']c', ':cnext<cr>zOzz', {desc="next quickfix"})
|
||||
|
||||
|
||||
-- Debugging mappings
|
||||
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
|
||||
vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float)
|
||||
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev)
|
||||
vim.keymap.set('n', ']d', vim.diagnostic.goto_next)
|
||||
--vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist)
|
||||
|
||||
-- Open currend directory
|
||||
vim.keymap.set('n', '-', ':e %:h<cr>', {desc="Open directory"})
|
||||
|
||||
|
||||
|
||||
-- Leaving these as old-style to remind me to come back and make them proper lua
|
||||
vim.cmd([[
|
||||
|
||||
" Mappings for my encoding functions
|
||||
vnoremap [b :call mine#encoding#wrapper('base64Encode')<cr>
|
||||
vnoremap ]b :call mine#encoding#wrapper('base64Decode')<cr>
|
||||
vnoremap [u :call mine#encoding#wrapper('urlEncode')<cr>
|
||||
vnoremap ]u :call mine#encoding#wrapper('urlDecode')<cr>
|
||||
vnoremap [U :call mine#encoding#wrapper('urlEncodeAll')<cr>
|
||||
vnoremap ]U :call mine#encoding#wrapper('urlDecode')<cr>
|
||||
vnoremap [h :call mine#encoding#wrapper('hexEncode')<cr>
|
||||
vnoremap ]h :call mine#encoding#wrapper('hexDecode')<cr>
|
||||
|
||||
|
||||
" Run proselint and put it in the quickfix list
|
||||
nnoremap <leader>p :call mine#functions#proselint()<CR>
|
||||
|
||||
if has('nvim')
|
||||
if !empty($SUDO_ASKPASS)
|
||||
cnoremap WW w !sudo -A tee % > /dev/null
|
||||
else
|
||||
cnoremap WW echo "SUDO_ASKPASS variable needs to be set"<cr>
|
||||
endif
|
||||
else
|
||||
cnoremap WW w !sudo tee % > /dev/null
|
||||
endif
|
||||
|
||||
nnoremap <leader>ve :edit $HOME/.config/nvim/init.vim<cr>
|
||||
|
||||
]])
|
|
@ -1,95 +0,0 @@
|
|||
" Swaps semi colon to colon in normal mode
|
||||
nnoremap ; :
|
||||
nnoremap : ;
|
||||
|
||||
" Swaps semi colon to colon in visual mode
|
||||
vnoremap ; :
|
||||
vnoremap : ;
|
||||
|
||||
" Make jj in insert mode go to normal mode
|
||||
inoremap jj <Esc>
|
||||
|
||||
" Make ctrl+hjkl change focus between windows
|
||||
nnoremap <c-h> <c-w>h
|
||||
nnoremap <c-j> <c-w>j
|
||||
nnoremap <c-k> <c-w>k
|
||||
nnoremap <c-l> <c-w>l
|
||||
|
||||
if has('clipboard')
|
||||
" Make Ctrl C and Ctrl V work on system clipboard
|
||||
" if in visual or insert mode respectively
|
||||
vnoremap <C-c> "+y
|
||||
inoremap <C-v> <Esc>"+pa
|
||||
endif
|
||||
|
||||
" Fix previous spelling mistake in insert mode
|
||||
" Shamelessly taken from https://castel.dev/post/lecture-notes-1/
|
||||
" <c-g>u - break undo sequence (new change)
|
||||
" <Esc> - go into normal mode
|
||||
" [s - go to previous spelling mistake
|
||||
" 1z= - change to the top spelling suggestion
|
||||
" `] - go to the end of the last changed word
|
||||
" a - enter insert mode
|
||||
" <c-g>u - break undo sequence (new change)
|
||||
inoremap <C-l> <c-g>u<Esc>[s1z=`]a<c-g>u
|
||||
|
||||
" Do Shebang line
|
||||
" <Esc> - go into normal mode
|
||||
" :silent - run command silently
|
||||
" s/^/…/ - write at the begining of the line
|
||||
" <bar> - used to seperate commands
|
||||
" filetype detect - attempt to detect filetype again
|
||||
" :nohlsearch - un-hilight the search pattern
|
||||
inoremap <C-y> <Esc>:silent s/^/#!\/usr\/bin\/env / <bar> filetype detect<cr>:nohlsearch<cr>o
|
||||
" alternative: inoremap <C-y> <Esc>:silent exe ".!which <cWORD>" <bar> s/^/#!/ <bar> filetype detect<cr>YpDi
|
||||
|
||||
" Mappings for my encoding functions
|
||||
vnoremap [b :call mine#encoding#wrapper('base64Encode')<cr>
|
||||
vnoremap ]b :call mine#encoding#wrapper('base64Decode')<cr>
|
||||
vnoremap [u :call mine#encoding#wrapper('urlEncode')<cr>
|
||||
vnoremap ]u :call mine#encoding#wrapper('urlDecode')<cr>
|
||||
vnoremap [U :call mine#encoding#wrapper('urlEncodeAll')<cr>
|
||||
vnoremap ]U :call mine#encoding#wrapper('urlDecode')<cr>
|
||||
vnoremap [h :call mine#encoding#wrapper('hexEncode')<cr>
|
||||
vnoremap ]h :call mine#encoding#wrapper('hexDecode')<cr>
|
||||
|
||||
" Makes the delete key work in insert mode
|
||||
inoremap <Del> <Right><BS>
|
||||
|
||||
" Compiles documents
|
||||
" The uppercase versions don't push enter an extra time resulting in seeing
|
||||
" the output of the compile command. Useful for debugging
|
||||
nnoremap <leader>cc :w! \| !compiler <c-r>%<CR><CR>
|
||||
nnoremap <leader>cC :w! \| !compiler <c-r>%<CR>
|
||||
nnoremap <leader>cl :w! \| !compiler <c-r>% letter<CR><CR>
|
||||
nnoremap <leader>cL :w! \| !compiler <c-r>% letter<CR>
|
||||
|
||||
" Opens the compiled documents
|
||||
" If something like html, it doesn't need to be compiled first
|
||||
nnoremap <leader>co :!opout <c-r>%<CR><CR>
|
||||
|
||||
" Makes vim default to "very magic" searching
|
||||
nnoremap / /\v
|
||||
vnoremap / /\v
|
||||
|
||||
" Makes vim re-select visual selection when using < or >
|
||||
vnoremap < <gv
|
||||
vnoremap > >gv
|
||||
|
||||
nnoremap [c :cprevious<cr>zOzz
|
||||
nnoremap ]c :cnext<cr>zOzz
|
||||
|
||||
" Run proselint and put it in the quickfix list
|
||||
nnoremap <leader>p :call mine#functions#proselint()<CR>
|
||||
|
||||
if has('nvim')
|
||||
if !empty($SUDO_ASKPASS)
|
||||
cnoremap WW w !sudo -A tee % > /dev/null
|
||||
else
|
||||
cnoremap WW echo "SUDO_ASKPASS variable needs to be set"<cr>
|
||||
endif
|
||||
else
|
||||
cnoremap WW w !sudo tee % > /dev/null
|
||||
endif
|
||||
|
||||
nnoremap <leader>ve :edit $HOME/.config/nvim/init.vim<cr>
|
77
nvim/.config/nvim/plugin/settings.lua
Normal file
77
nvim/.config/nvim/plugin/settings.lua
Normal file
|
@ -0,0 +1,77 @@
|
|||
-- Set spellcheck language to english
|
||||
vim.opt.spelllang=en_gb
|
||||
|
||||
-- Set default split to be right or bottom
|
||||
vim.opt.splitright=true
|
||||
vim.opt.splitbelow=true
|
||||
|
||||
-- Tell vim it's a fast terminal
|
||||
vim.opt.ttyfast=true
|
||||
|
||||
-- set relative ruler with current line as real line number
|
||||
vim.opt.relativenumber=true
|
||||
vim.opt.number=true
|
||||
|
||||
-- Allows vim to background buffers without saving
|
||||
vim.opt.hidden=true
|
||||
|
||||
-- Sets vim to smart case
|
||||
-- If search is all lowercase, search insensitively; if you include a capital
|
||||
-- it becomes a case sensitive match
|
||||
vim.opt.ignorecase=true
|
||||
vim.opt.smartcase=true
|
||||
|
||||
-- Makes vim try to keep 5 lines visible at the top and bottom
|
||||
vim.opt.scrolloff=5
|
||||
|
||||
-- set tabwidth
|
||||
vim.opt.autoindent=true
|
||||
vim.opt.smartindent=true
|
||||
vim.opt.shiftwidth=4
|
||||
vim.opt.tabstop=4
|
||||
|
||||
-- Add invisivle character reperesentation
|
||||
vim.opt.list=true
|
||||
vim.opt.listchars={
|
||||
tab="» ",
|
||||
trail="␣"
|
||||
}
|
||||
|
||||
-- Stops vim wrapping in the middle of a word
|
||||
vim.opt.linebreak=true
|
||||
|
||||
-- Sets tool for opening non-text files with gx
|
||||
-- If in netrw, this is run with just x
|
||||
vim.g.netrw_browsex_viewer = "opout"
|
||||
|
||||
-- Automatically insert comment leader after hitting enter (r) or when pushing o or O (o)
|
||||
vim.opt.formatoptions:append('r')
|
||||
vim.opt.formatoptions:append('o')
|
||||
|
||||
-- Show the results of the substitute command as you type
|
||||
vim.opt.inccommand = 'nosplit'
|
||||
|
||||
-- Sets the default fold method to indent
|
||||
vim.opt.foldmethod = 'indent'
|
||||
|
||||
|
||||
-- Need to find out how to do this in lua
|
||||
vim.cmd([[
|
||||
|
||||
if executable('rg')
|
||||
set grepprg=rg\ --vimgrep\ --no-heading\ --color=never\ --glob=\"!shell-logs/*\"
|
||||
set grepformat=%f:%l:%c:%m,%f:%l:%m
|
||||
endif
|
||||
|
||||
augroup colorcols
|
||||
autocmd!
|
||||
autocmd FileType,VimEnter,BufEnter * call mine#functions#colorcols()
|
||||
augroup end
|
||||
|
||||
" share data between nvim instances (registers etc)
|
||||
augroup SHADA
|
||||
autocmd!
|
||||
autocmd CursorHold,TextYankPost,FocusGained,FocusLost *
|
||||
\ if exists(':rshada') | rshada | wshada | endif
|
||||
augroup END
|
||||
]])
|
|
@ -1,73 +0,0 @@
|
|||
" Set colourscheme to gruvbox
|
||||
let g:gruvbox_italic=1
|
||||
set termguicolors
|
||||
colorscheme gruvbox
|
||||
|
||||
" Set spellcheck language to english
|
||||
set spelllang=en_gb
|
||||
|
||||
" Set default split to be right or bottom
|
||||
set splitright
|
||||
set splitbelow
|
||||
|
||||
" Tell vim it's a fast terminal
|
||||
set ttyfast
|
||||
|
||||
" set relative ruler with current line as real line number
|
||||
set relativenumber
|
||||
set number
|
||||
|
||||
" Allows vim to background buffers without saving
|
||||
set hidden
|
||||
|
||||
" Sets vim to smart case
|
||||
" If search is all lowercase, search insensitively; if you include a capital
|
||||
" it becomes a case sensitive match
|
||||
set ignorecase smartcase
|
||||
|
||||
" Makes vim try to keep 5 lines visible at the top and bottom
|
||||
set scrolloff=5
|
||||
|
||||
" set tabwidth
|
||||
set autoindent
|
||||
set smartindent
|
||||
set shiftwidth=4
|
||||
set tabstop=4
|
||||
|
||||
" Add invisivle character reperesentation
|
||||
set list listchars=tab:»\ ,trail:\␣,eol:↩
|
||||
|
||||
" Stops vim wrapping in the middle of a word
|
||||
set linebreak
|
||||
|
||||
" Sets tool for opening non-text files with gx
|
||||
" If in netrw, this is run with just x
|
||||
let g:netrw_browsex_viewer = "opout"
|
||||
|
||||
" Automatically insert comment leader after hitting enter
|
||||
set formatoptions+=r
|
||||
" Automatically insert comment leader after hitting o or O
|
||||
set formatoptions+=o
|
||||
|
||||
" Show the results of the substitute command as you type
|
||||
set inccommand=nosplit
|
||||
|
||||
" Sets the default fold method to indent
|
||||
set foldmethod=indent
|
||||
|
||||
if executable('rg')
|
||||
set grepprg=rg\ --vimgrep\ --no-heading\ --color=never\ --glob=\"!shell-logs/*\"
|
||||
set grepformat=%f:%l:%c:%m,%f:%l:%m
|
||||
endif
|
||||
|
||||
augroup colorcols
|
||||
autocmd!
|
||||
autocmd FileType,VimEnter,BufEnter * call mine#functions#colorcols()
|
||||
augroup end
|
||||
|
||||
" share data between nvim instances (registers etc)
|
||||
augroup SHADA
|
||||
autocmd!
|
||||
autocmd CursorHold,TextYankPost,FocusGained,FocusLost *
|
||||
\ if exists(':rshada') | rshada | wshada | endif
|
||||
augroup END
|
|
@ -1,11 +0,0 @@
|
|||
lua <<EOF
|
||||
require'nvim-treesitter.configs'.setup {
|
||||
ensure_installed = "all",
|
||||
highlight = {
|
||||
enable = true
|
||||
},
|
||||
indent = {
|
||||
enable = true
|
||||
}
|
||||
}
|
||||
EOF
|
2
nvim/.config/nvim/spell/en.utf-8.add
Normal file
2
nvim/.config/nvim/spell/en.utf-8.add
Normal file
|
@ -0,0 +1,2 @@
|
|||
Additionally
|
||||
vacuumed
|
BIN
nvim/.config/nvim/spell/en.utf-8.add.spl
Normal file
BIN
nvim/.config/nvim/spell/en.utf-8.add.spl
Normal file
Binary file not shown.
54
nvim/.config/nvim/syntax/csv.vim
Normal file
54
nvim/.config/nvim/syntax/csv.vim
Normal file
|
@ -0,0 +1,54 @@
|
|||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
" , is the delimiter
|
||||
" " is word separator
|
||||
" no support for escape character
|
||||
:syntax match end ',' nextgroup=col00
|
||||
:syntax match col13 ',[^,]*' nextgroup=end
|
||||
:syntax match col13 ',\"[^"]*\"' nextgroup=end
|
||||
:syntax match col12 ',[^,]*' nextgroup=col13
|
||||
:syntax match col12 ',\"[^"]*\"' nextgroup=col13
|
||||
:syntax match col11 ',[^,]*' nextgroup=col12
|
||||
:syntax match col11 ',\"[^"]*\"' nextgroup=col12
|
||||
:syntax match col10 ',[^,]*' nextgroup=col11
|
||||
:syntax match col10 ',\"[^"]*\"' nextgroup=col11
|
||||
:syntax match col09 ',[^,]*' nextgroup=col10
|
||||
:syntax match col09 ',\"[^"]*\"' nextgroup=col10
|
||||
:syntax match col08 ',[^,]*' nextgroup=col09
|
||||
:syntax match col08 ',\"[^"]*\"' nextgroup=col09
|
||||
:syntax match col07 ',[^,]*' nextgroup=col08
|
||||
:syntax match col07 ',\"[^"]*\"' nextgroup=col08
|
||||
:syntax match col06 ',[^,]*' nextgroup=col07
|
||||
:syntax match col06 ',\"[^"]*\"' nextgroup=col07
|
||||
:syntax match col05 ',[^,]*' nextgroup=col06
|
||||
:syntax match col05 ',\"[^"]*\"' nextgroup=col06
|
||||
:syntax match col04 ',[^,]*' nextgroup=col05
|
||||
:syntax match col04 ',\"[^"]*\"' nextgroup=col05
|
||||
:syntax match col03 ',[^,]*' nextgroup=col04
|
||||
:syntax match col03 ',\"[^"]*\"' nextgroup=col04
|
||||
:syntax match col02 ',[^,]*' nextgroup=col03
|
||||
:syntax match col02 ',\"[^"]*\"' nextgroup=col03
|
||||
:syntax match col01 ',[^,]*' nextgroup=col02
|
||||
:syntax match col01 ',\"[^"]*\"' nextgroup=col02
|
||||
:syntax match col00 '[^,]*' nextgroup=col01
|
||||
:syntax match col00 '\"[^"]*\"' nextgroup=col01
|
||||
:syntax match start '^' nextgroup=col00
|
||||
|
||||
:hi col13 ctermfg=gray
|
||||
:hi col12 ctermfg=darkyellow
|
||||
:hi col11 ctermfg=darkcyan
|
||||
:hi col10 ctermfg=darkmagenta
|
||||
:hi col09 ctermfg=darkgreen
|
||||
:hi col08 ctermfg=darkred
|
||||
:hi col07 ctermfg=darkblue
|
||||
:hi col06 ctermfg=white
|
||||
:hi col05 ctermfg=yellow
|
||||
:hi col04 ctermfg=cyan
|
||||
:hi col03 ctermfg=magenta
|
||||
:hi col02 ctermfg=green
|
||||
:hi col01 ctermfg=red
|
||||
:hi col00 ctermfg=blue
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue