parent
b039bf70fd
commit
954642753f
53 changed files with 548 additions and 541 deletions
@ -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>" |
|
||||||
|
|
||||||
|
|
@ -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" } |
||||||
|
} |
@ -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 |
||||||
|
}} |
||||||
|
|
||||||
|
|
||||||
|
|
@ -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 |
||||||
|
} } |
||||||
|
|
||||||
|
|
||||||
|
|
@ -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') |
@ -0,0 +1,3 @@ |
|||||||
|
return { { |
||||||
|
"tpope/vim-fugitive" |
||||||
|
} } |
@ -0,0 +1,4 @@ |
|||||||
|
return {{ |
||||||
|
"kylechui/nvim-surround", |
||||||
|
opts={} |
||||||
|
}} |
@ -0,0 +1,14 @@ |
|||||||
|
return {{ |
||||||
|
"nvim-treesitter/nvim-treesitter", |
||||||
|
build = ":TSUpdate", |
||||||
|
opts = { |
||||||
|
ensure_installed = "all", |
||||||
|
highlight = { |
||||||
|
enable = true |
||||||
|
}, |
||||||
|
indent = { |
||||||
|
enable = true |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
}} |
@ -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') |
|
||||||
\ }) |
|
@ -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> |
|
@ -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 |
|
@ -0,0 +1,2 @@ |
|||||||
|
Additionally |
||||||
|
vacuumed |
Binary file not shown.
@ -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…
Reference in new issue