mirror of
https://github.com/elkowar/dots-of-war.git
synced 2024-12-25 05:42:22 +00:00
Fix vim?
This commit is contained in:
parent
b02bd70669
commit
ba10fd7e89
16 changed files with 616 additions and 146 deletions
|
@ -37,10 +37,10 @@
|
|||
"${round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)}%")
|
||||
(box :class "metric" :orientation "v"
|
||||
(label :class "metric-icon":text "")
|
||||
"${round(EWW_RAM, 0)}%")
|
||||
"${round(EWW_RAM.used_mem_perc, 0)}%")
|
||||
(box :class "metric" :orientation "v"
|
||||
(label :class "metric-icon" :text "")
|
||||
"${round(EWW_CPU_USAGE.avg, 0)}%")
|
||||
"${round(EWW_CPU.avg, 0)}%")
|
||||
(box :class "metric"
|
||||
(date))))
|
||||
|
||||
|
|
|
@ -97,6 +97,7 @@ in
|
|||
kmonad
|
||||
gitAndTools.delta
|
||||
git-fuzzy
|
||||
codelldb
|
||||
]
|
||||
)
|
||||
(
|
||||
|
|
|
@ -29,7 +29,7 @@ in
|
|||
double_click.threshold = 300;
|
||||
triple_click.threshold = 300;
|
||||
hide_when_typing = true;
|
||||
url.launcher.program = "xdg-open";
|
||||
#hints.launcher.program = "xdg-open";
|
||||
};
|
||||
|
||||
key_bindings = [
|
||||
|
|
|
@ -12,6 +12,7 @@ self: super: {
|
|||
git-fuzzy = super.callPackage ../packages/git-fuzzy.nix { };
|
||||
nixGL = import sources.nixGL { };
|
||||
scr = super.callPackage ../packages/scr.nix { };
|
||||
codelldb = super.callPackage ../packages/codelldb.nix { };
|
||||
my-st = super.callPackage ../packages/st/st-tanish2002 { };
|
||||
kmonad = import "${sources.kmonad}/nix";
|
||||
}
|
||||
|
|
9
nixpkgs/.config/nixpkgs/packages/codelldb.nix
Normal file
9
nixpkgs/.config/nixpkgs/packages/codelldb.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{ stdenv, symlinkJoin, makeWrapper, writeScriptBin, vscode-extensions }:
|
||||
writeScriptBin "codelldb" ''
|
||||
${vscode-extensions.vadimcn.vscode-lldb}/share/vscode/extensions/vadimcn.vscode-lldb/adapter/.codelldb-wrapped_ \
|
||||
--liblldb ${vscode-extensions.vadimcn.vscode-lldb}/share/vscode/extensions/vadimcn.vscode-lldb/lldb/lib/liblldb.so $@
|
||||
''
|
||||
#writeScriptBin "codelldb" ''
|
||||
#${vscode-extensions.vadimcn.vscode-lldb}/share/vscode/extensions/vadimcn.vscode-lldb/adapter/.codelldb-wrapped_ \
|
||||
#--liblldb ${vscode-extensions.vadimcn.vscode-lldb}/share/vscode/extensions/vadimcn.vscode-lldb/lldb/lib/liblldb.so $@
|
||||
#''
|
32
nixpkgs/.config/nixpkgs/packages/vscode-debugger-thingy.nix
Normal file
32
nixpkgs/.config/nixpkgs/packages/vscode-debugger-thingy.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
{ fetchFromGitHub, stdenvNoCC, lib, makeWrapper, extraPackages ? [] }:
|
||||
let
|
||||
binPath = lib.makeBinPath ([] ++ extraPackages);
|
||||
in
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "scr";
|
||||
version = "2.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "6gk";
|
||||
repo = "scr";
|
||||
rev = "v${version}";
|
||||
sha256 = "0fgmv99zlppi5wa2qylbvnblk9kc6i201byz8m79ld8cwiymabi2";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
installPhase = "install -m755 -D ./scr $out/bin/scr";
|
||||
postFixup = ''
|
||||
wrapProgram "$out/bin/scr" --prefix PATH : ${binPath}
|
||||
'';
|
||||
meta = {
|
||||
description = "Super CRappy SCReenshot SCRipt";
|
||||
longDescription = ''
|
||||
Super CRappy SCReenshot SCRipt
|
||||
(and recording ^)
|
||||
A SCRipt for Sound Cloud Rappers
|
||||
'';
|
||||
homepage = "https://github.com/6gk/scr";
|
||||
maintainers = with lib.maintainers; [ elkowar ];
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
257
nvim/.config/nvim/amulet.vim
Normal file
257
nvim/.config/nvim/amulet.vim
Normal file
|
@ -0,0 +1,257 @@
|
|||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
setlocal shiftwidth=2
|
||||
setlocal tabstop=2
|
||||
setlocal expandtab
|
||||
setlocal comments=s1:(*,mb:*,ex:*)
|
||||
setlocal commentstring=(*\ %s\ *)
|
||||
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
if has('nvim-0.3.2')
|
||||
let s:vtext_ns = nvim_create_namespace('amulet')
|
||||
endif
|
||||
|
||||
let b:autostart_amc = has('nvim') ? 1 : 0
|
||||
let b:amc_deps = []
|
||||
|
||||
hi! AmuletError cterm=underline ctermfg=red
|
||||
hi! AmuletWarn cterm=underline ctermfg=yellow
|
||||
hi! AmuletNote cterm=underline ctermfg=cyan
|
||||
|
||||
hi! AmuletErrorVtxt ctermfg=red cterm=italic
|
||||
hi! AmuletWarnVtxt ctermfg=yellow cterm=italic
|
||||
hi! AmuletNoteVtxt ctermfg=cyan cterm=italic
|
||||
|
||||
sign define amuletError text=! texthl=AmuletError
|
||||
sign define amuletWarning text=* texthl=AmuletWarn
|
||||
sign define amuletNote text=* texthl=AmuletNote
|
||||
|
||||
function! s:HighlightRange(group, line, start_col, length)
|
||||
" Vim columns are 1-indexed, but nvim's are 0-indexed
|
||||
if has('nvim-0.3.2')
|
||||
let start_col = str2nr(a:start_col) - 1
|
||||
let end_col = str2nr(a:length) + start_col
|
||||
let line = str2nr(a:line) - 1
|
||||
call nvim_buf_add_highlight(bufnr(''), s:vtext_ns, a:group, line, start_col, end_col)
|
||||
else
|
||||
call matchaddpos(a:group, [ [a:line, a:start_col, a:length] ])
|
||||
end
|
||||
endfunction
|
||||
|
||||
function! AmuletStart(...)
|
||||
if has('nvim')
|
||||
if exists("b:amulet_pid")
|
||||
return 0
|
||||
end
|
||||
let b:amulet_pid = jobstart(["amc", "repl", "--port", a:0 == 1 ? a:1 : 6000])
|
||||
let b:amulet_port = a:0 == 1 ? a:1 : 6000
|
||||
else
|
||||
echo "Having vim manage the compiler is only supported on nvim"
|
||||
end
|
||||
endfunction
|
||||
|
||||
function! AmuletStop()
|
||||
if has('nvim')
|
||||
if exists("b:amulet_pid")
|
||||
call jobstop(b:amulet_pid)
|
||||
unlet b:amulet_pid b:amulet_port
|
||||
end
|
||||
else
|
||||
echo "Having vim manage the compiler is only supported on nvim"
|
||||
end
|
||||
endfunction
|
||||
|
||||
function! s:CallAmc(...)
|
||||
let cmd = shellescape(join(a:000))
|
||||
|
||||
if exists("b:amulet_pid")
|
||||
let cmd = cmd . " --port " . b:amulet_port
|
||||
endif
|
||||
|
||||
let res = system('amc connect ' . cmd)
|
||||
if res =~ "Failed to connect to server on port"
|
||||
throw "Couldn't connect to a running amc"
|
||||
elseif res =~ "Invalid option `--client`"
|
||||
throw "Installed version of amc doesn't have client/server support"
|
||||
else
|
||||
return res
|
||||
endif
|
||||
endfunction
|
||||
|
||||
|
||||
" Trashes both qflist and matches
|
||||
function! AmuletLoad(verbose, qf)
|
||||
let our_bufnr = bufnr('')
|
||||
let ourpos = getpos('.')
|
||||
silent write
|
||||
call clearmatches()
|
||||
call setqflist([])
|
||||
|
||||
let file = expand("%:p")
|
||||
|
||||
try
|
||||
let out = split(call("s:CallAmc", [":l", file]), '\n')
|
||||
catch /version/
|
||||
echo "Your version of amc is too old to have client/server support"
|
||||
catch /amc/
|
||||
echo "Failed to connect to a running amc"
|
||||
return -1
|
||||
endtry
|
||||
|
||||
let err_msg_pat = "\\v(error|warning|note)( \\([EWN][0-9]{4}\\))?$"
|
||||
let nerrors = 0
|
||||
let nwarns = 0
|
||||
|
||||
execute "sign unplace * file=" . expand("%p")
|
||||
if has('nvim-0.3.2')
|
||||
call nvim_buf_clear_namespace(0, s:vtext_ns, 0, -1)
|
||||
endif
|
||||
|
||||
if len(out) > 1
|
||||
let idx = 0
|
||||
while idx < len(out)
|
||||
let line = out[idx]
|
||||
if line =~ err_msg_pat
|
||||
let err_msg_idx = idx + 1
|
||||
while match(out[err_msg_idx], "\\v([0-9]+)?\\s*\u2502") == 0
|
||||
let err_msg_idx += 1
|
||||
endwhile
|
||||
|
||||
let next = match(out[err_msg_idx:], err_msg_pat)
|
||||
if next == -1
|
||||
let next = len(out)
|
||||
else
|
||||
let next += err_msg_idx
|
||||
endif
|
||||
let range = matchlist(line, "\\v\\[([0-9]+):([0-9]+) ..([0-9]+):([0-9]+)")
|
||||
let lineno = range[1]
|
||||
|
||||
let err_msg = out[err_msg_idx]
|
||||
if err_msg_idx == idx + 1
|
||||
let idx += 1
|
||||
else
|
||||
let err_msg = join(map(out[err_msg_idx:next - 1], "trim(v:val)"))
|
||||
let idx = next
|
||||
endif
|
||||
|
||||
caddexpr expand("%:p") . ":" . lineno . ":" . err_msg
|
||||
|
||||
let group = (match(line, "warning") != -1) ? "AmuletWarn" : (match(line, "note$") != -1) ? "AmuletNote" : "AmuletError"
|
||||
let sign = (match(line, "warning") != -1) ? "amuletWarning" : (match(line, "note$") != -1) ? "amuletNote" : "amuletError"
|
||||
|
||||
for l in range(range[1], range[3])
|
||||
execute "sign place " . (idx + l) . " line=" . l . " name=" . sign
|
||||
endfor
|
||||
|
||||
if range[1] == range[3]
|
||||
call s:HighlightRange(group, lineno, range[2], range[4] - range[2] + 1)
|
||||
if has('nvim-0.3.2')
|
||||
call nvim_buf_set_virtual_text(0, s:vtext_ns, str2nr(lineno - 1), [[err_msg, group . "Vtxt"]], {})
|
||||
endif
|
||||
endif
|
||||
|
||||
if match(line, "warning$") != -1
|
||||
let nwarns += 1
|
||||
else
|
||||
let nerrors += 1
|
||||
end
|
||||
else
|
||||
let idx += 1
|
||||
endif
|
||||
endwhile
|
||||
|
||||
let errs = (nerrors == 1) ? "error" : "errors"
|
||||
let warns = (nwarns == 1) ? "warning" : "warnings"
|
||||
|
||||
if (nerrors == 0) && a:verbose
|
||||
echo "Beware: " . nwarns . " " . warns
|
||||
elseif nerrors != 0
|
||||
echo "Compilation failed with " . nerrors . " " . errs . " and " . nwarns . " " . warns
|
||||
end
|
||||
if (nerrors != 0 || nwarns != 0) && a:qf == 'qf'
|
||||
copen
|
||||
end
|
||||
call setpos('.', ourpos)
|
||||
return nerrors
|
||||
else
|
||||
if a:verbose
|
||||
echo "Loaded " . expand("%p") . " successfully."
|
||||
end
|
||||
call setpos('.', ourpos)
|
||||
return 0
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! AmuletType()
|
||||
let ourpos = getpos('.')
|
||||
echo trim(s:CallAmc(":t", expand("<cword>")))
|
||||
call setpos('.', ourpos)
|
||||
endfunction
|
||||
|
||||
function! AmuletEval(mode)
|
||||
let ourpos = getpos('.')
|
||||
if a:mode == 'v'
|
||||
let [line_start, column_start] = getpos("'<")[1:2]
|
||||
let [line_end, column_end] = getpos("'>")[1:2]
|
||||
|
||||
if line_start != line_end
|
||||
return
|
||||
endif
|
||||
|
||||
let expr = getline(line_start)[column_start - 1 : column_end - 1]
|
||||
echo trim(s:CallAmc(expr))
|
||||
else
|
||||
let expr = input("Evaluate: ")
|
||||
redraw
|
||||
echo trim(s:CallAmc(expr))
|
||||
end
|
||||
call setpos('.', ourpos)
|
||||
endfunction
|
||||
|
||||
function! AmuletDep(...)
|
||||
for path in a:000
|
||||
if filereadable(path)
|
||||
call add(b:amc_deps, path)
|
||||
else
|
||||
echo "File " . file . " not readable by current user"
|
||||
endif
|
||||
endfor
|
||||
call AmuletLoad(1, '')
|
||||
endfunction
|
||||
|
||||
function! AmuletParseDeps()
|
||||
let b:amc_deps = []
|
||||
let deplist = []
|
||||
silent keeppatterns %s/(\* amulet\.vim: \(.*\) \*)/\=add(deplist,submatch(1))/gne
|
||||
call call('AmuletDep', deplist)
|
||||
endfunction
|
||||
|
||||
function! AmuletComplete(findstart, base)
|
||||
if a:findstart
|
||||
" locate the start of the word
|
||||
let line = getline('.')
|
||||
let start = col('.') - 1
|
||||
while start > 0 && !(line[start - 1] =~ ' ')
|
||||
echo line[start - 1]
|
||||
let start -= 1
|
||||
endwhile
|
||||
return start
|
||||
else
|
||||
return split(s:CallAmc(":complete", a:base), "\n")
|
||||
endif
|
||||
endfunction
|
||||
|
||||
set omnifunc=AmuletComplete
|
||||
|
||||
nnoremap <buffer> <silent> <LocalLeader>t :call AmuletType()<ENTER>
|
||||
nnoremap <buffer> <silent> <LocalLeader>l :call AmuletLoad(1,'')<ENTER>
|
||||
nnoremap <buffer> <silent> <LocalLeader>L :call AmuletLoad(0,'qf')<ENTER>
|
||||
vnoremap <buffer> <silent> <LocalLeader>e :call AmuletEval('v')<ENTER>
|
||||
nnoremap <buffer> <silent> <LocalLeader>e :call AmuletEval('n')<ENTER>
|
||||
command! -nargs=? AmuletStartServer :call AmuletStart(<args>)
|
||||
command! -complete=file -nargs=+ AmuletDepend :call AmuletDep(<f-args>)
|
||||
command! -nargs=0 AmuletFindDepends :call AmuletParseDeps()
|
||||
cnoreabbr amcdep AmuletDepend
|
|
@ -1,202 +1,340 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
(module dots.plugins
|
||||
{require-macros [macros]})
|
||||
{require {a aniseed.core}
|
||||
require-macros [macros]})
|
||||
|
||||
(packer-use
|
||||
"/home/leon/coding/projects/nvim-gehzu" {}
|
||||
"/home/leon/coding/projects/yuck.vim" {}
|
||||
:elkowar/antifennel-nvim {:config #(set vim.g.antifennel_executable "/home/leon/tmp/antifennel/antifennel")}
|
||||
:elkowar/kmonad.vim {}
|
||||
|
||||
:ruanyl/vim-gh-line {}
|
||||
:rhysd/conflict-marker.vim {}
|
||||
:wellle/visual-split.vim {}
|
||||
:sindrets/diffview.nvim {}
|
||||
:folke/persistence.nvim {:mod "dots.plugins.persistence"}
|
||||
:folke/zen-mode.nvim {:cmd ["ZenMode"]
|
||||
:mod "dots.plugins.zen-mode"}
|
||||
:folke/twilight.nvim {:mod "dots.plugins.twilight"}
|
||||
:TimUntersberger/neogit {:mod "dots.plugins.neogit"
|
||||
:cmd ["Neogit"]}
|
||||
|
||||
:lifepillar/vim-gruvbox8 {:opt false
|
||||
:config
|
||||
#(do (set vim.g.gruvbox_italics 0)
|
||||
(set vim.g.gruvbox_italicise_strings 0)
|
||||
(set vim.g.gruvbox_filetype_hi_groups 1)
|
||||
(set vim.g.gruvbox_plugin_hi_groups 1)
|
||||
(vim.cmd "colorscheme gruvbox8")
|
||||
(req dots.utils.highlight :SignColumn {:bg (. (require :dots.colors) :dark0)}))}
|
||||
;(req dots.utils.highlight :LspDiagnosticsUnderlineError {:gui "underline"}))}
|
||||
(defn abuse [use stuff rest]
|
||||
(use (a.assoc rest 1 stuff)))
|
||||
|
||||
:nvim-telescope/telescope.nvim {:mod "dots.plugins.telescope"
|
||||
:cmd ["Telescope"]
|
||||
:requires [:nvim-lua/popup.nvim
|
||||
:nvim-lua/plenary.nvim]}
|
||||
|
||||
:nvim-telescope/telescope-packer.nvim {}
|
||||
:nvim-telescope/telescope-frecency.nvim {:requires [:tami5/sql.nvim]
|
||||
:opt false}
|
||||
;:config #((. (require :telescope) :load_extension) "frecency")}
|
||||
|
||||
|
||||
(local packer (require :packer))
|
||||
(packer.startup
|
||||
(fn [use]
|
||||
(abuse
|
||||
use "/home/leon/coding/projects/nvim-gehzu" {})
|
||||
(abuse
|
||||
use "/home/leon/coding/projects/yuck.vim" {})
|
||||
(abuse
|
||||
use :nvim-lua/plenary.nvim {})
|
||||
(abuse
|
||||
use :elkowar/antifennel-nvim {:opt false :config #(set vim.g.antifennel_executable "/home/leon/tmp/antifennel/antifennel")})
|
||||
(abuse
|
||||
use :elkowar/kmonad.vim {})
|
||||
|
||||
(abuse
|
||||
use :ruanyl/vim-gh-line {})
|
||||
(abuse
|
||||
use :rhysd/conflict-marker.vim {})
|
||||
(abuse
|
||||
use :wellle/visual-split.vim {})
|
||||
(abuse
|
||||
use :sindrets/diffview.nvim {})
|
||||
(abuse
|
||||
use :folke/persistence.nvim {:opt false :config #(require "dots.plugins.persistence")})
|
||||
(abuse
|
||||
use :folke/zen-mode.nvim {:cmd ["ZenMode"]
|
||||
:opt false :config #(require "dots.plugins.zen-mode")})
|
||||
(abuse
|
||||
use :folke/twilight.nvim {:opt false :config #(require "dots.plugins.twilight")})
|
||||
(abuse
|
||||
use :TimUntersberger/neogit {:opt false :config #(require "dots.plugins.neogit")
|
||||
:cmd ["Neogit"]})
|
||||
|
||||
(abuse
|
||||
use :lifepillar/vim-gruvbox8 {:opt false
|
||||
:config
|
||||
#(do (set vim.g.gruvbox_italics 0)
|
||||
(set vim.g.gruvbox_italicise_strings 0)
|
||||
(set vim.g.gruvbox_filetype_hi_groups 1)
|
||||
(set vim.g.gruvbox_plugin_hi_groups 1)
|
||||
(vim.cmd "colorscheme gruvbox8")
|
||||
((. (require :dots.utils) :highlight) :SignColumn {:bg (. (require :dots.colors) :dark0)}))})
|
||||
;(req dots.utils.highlight :SignColumn {:bg (. (require :dots.colors) :dark0)}))}
|
||||
;(req dots.utils.highlight :LspDiagnosticsUnderlineError {:gui "underline"}))}
|
||||
|
||||
(abuse
|
||||
use :nvim-telescope/telescope.nvim {:opt false :config #(require "dots.plugins.telescope")
|
||||
:cmd ["Telescope"]
|
||||
:requires [:nvim-lua/popup.nvim
|
||||
:nvim-lua/plenary.nvim]})
|
||||
|
||||
(abuse
|
||||
use :nvim-telescope/telescope-packer.nvim {})
|
||||
(abuse
|
||||
use :nvim-telescope/telescope-frecency.nvim {:requires [:tami5/sql.nvim]
|
||||
:opt false})
|
||||
;:opt false :config #((. (require :telescope) :load_extension) "frecency")}
|
||||
|
||||
|
||||
|
||||
:kyazdani42/nvim-web-devicons {}
|
||||
(abuse
|
||||
use :kyazdani42/nvim-web-devicons {})
|
||||
|
||||
:nvim-treesitter/nvim-treesitter {:mod "dots.plugins.treesitter"
|
||||
:event ["BufEnter"]
|
||||
:run ":TSUpdate"}
|
||||
:JoosepAlviste/nvim-ts-context-commentstring {:event ["BufEnter"]
|
||||
:requires [:nvim-treesitter/nvim-treesitter]}
|
||||
:nvim-treesitter/playground {:event ["BufEnter"]
|
||||
:requires [:nvim-treesitter/nvim-treesitter]}
|
||||
(abuse
|
||||
use :nvim-treesitter/nvim-treesitter {:opt false :config #(require "dots.plugins.treesitter")
|
||||
:event ["BufEnter"]
|
||||
:run ":TSUpdate"})
|
||||
|
||||
(abuse
|
||||
use :JoosepAlviste/nvim-ts-context-commentstring {:event ["BufEnter"]
|
||||
:requires [:nvim-treesitter/nvim-treesitter]})
|
||||
(abuse
|
||||
use :nvim-treesitter/playground {:event ["BufEnter"]
|
||||
:requires [:nvim-treesitter/nvim-treesitter]})
|
||||
;:p00f/nvim-ts-rainbow {}
|
||||
;:romgrk/nvim-treesitter-context {}
|
||||
|
||||
|
||||
;:code-biscuits/nvim-biscuits {:requires [:nvim-treesitter/nvim-treesitter]
|
||||
;:event ["BufReadPost"]
|
||||
;:config #((. (require "nvim-biscuits") :setup) {})}
|
||||
;:event ["BufReadPost"]
|
||||
;:opt false :config #((. (require "nvim-biscuits") :setup) {})}
|
||||
|
||||
|
||||
|
||||
:jiangmiao/auto-pairs {}
|
||||
(abuse
|
||||
use :jiangmiao/auto-pairs {})
|
||||
|
||||
:folke/which-key.nvim {}
|
||||
(abuse
|
||||
use :folke/which-key.nvim {})
|
||||
|
||||
; json query stuff
|
||||
;:gennaro-tedesco/nvim-jqx {:ft ["json"]}
|
||||
|
||||
:Olical/aniseed {:branch "master"}; :tag "v3.16.0"}
|
||||
(abuse use :Olical/aniseed {:branch "develop"}); :tag "v3.16.0"}
|
||||
;(abuse use :Olical/aniseed {:tag "v3.21.0"}); :tag "v3.16.0"}
|
||||
; (abuse use :Olical/aniseed {:branch "master"}); :tag "v3.16.0"}
|
||||
;:Olical/aniseed {}; :tag "v3.16.0"}
|
||||
|
||||
; general purpose lua wrappers for nvim stuff
|
||||
:norcalli/nvim.lua {}
|
||||
(abuse
|
||||
use :norcalli/nvim.lua {})
|
||||
|
||||
:Famiu/feline.nvim {:mod "dots.plugins.feline"}
|
||||
(abuse
|
||||
use :Famiu/feline.nvim {:opt false :config #(require "dots.plugins.feline")})
|
||||
;config #(require "dots.plugins.feline")}
|
||||
|
||||
:akinsho/nvim-bufferline.lua {:mod "dots.plugins.bufferline"}
|
||||
;:romgrk/barbar.nvim {:mod "dots.plugins.barbar"}
|
||||
(abuse
|
||||
use :akinsho/nvim-bufferline.lua {:opt false :config #(require "dots.plugins.bufferline")})
|
||||
;:romgrk/barbar.nvim {:opt false :config #(require "dots.plugins.barbar")}
|
||||
|
||||
:sindrets/diffview.nvim {:cmd ["DiffviewOpen" "DiffviewToggleFiles"]
|
||||
:mod "dots.plugins.diffview"}
|
||||
:tweekmonster/startuptime.vim {:cmd ["StartupTime"]}
|
||||
:tpope/vim-repeat {}
|
||||
(abuse
|
||||
use
|
||||
:sindrets/diffview.nvim {:cmd ["DiffviewOpen" "DiffviewToggleFiles"]
|
||||
:opt false :config #(require "dots.plugins.diffview")})
|
||||
(abuse
|
||||
use :tweekmonster/startuptime.vim {:cmd ["StartupTime"]})
|
||||
(abuse
|
||||
use :tpope/vim-repeat {})
|
||||
|
||||
:lewis6991/gitsigns.nvim {:after ["vim-gruvbox8"]
|
||||
:mod "dots.plugins.gitsigns"}
|
||||
(abuse
|
||||
use :lewis6991/gitsigns.nvim {:after ["vim-gruvbox8"]
|
||||
:opt false :config #(require "dots.plugins.gitsigns")})
|
||||
|
||||
|
||||
:tpope/vim-fugitive {}
|
||||
:preservim/nerdcommenter {}
|
||||
:godlygeek/tabular {:cmd ["Tabularize"]} ; :Tab /regex can align code on occurrences of the given regex. I.e. :Tab /= aligns all = signs in a block.
|
||||
:tpope/vim-surround {}
|
||||
:nathanaelkane/vim-indent-guides {} ; Can be toggled using <leader>ig (intent-guides)
|
||||
(abuse
|
||||
use :tpope/vim-fugitive {})
|
||||
(abuse
|
||||
use :preservim/nerdcommenter {})
|
||||
(abuse
|
||||
use :godlygeek/tabular {:cmd ["Tabularize"]}) ; :Tab /regex can align code on occurrences of the given regex. I.e. :Tab /= aligns all = signs in a block.
|
||||
(abuse
|
||||
use :tpope/vim-surround {})
|
||||
(abuse
|
||||
use :nathanaelkane/vim-indent-guides {}) ; Can be toggled using <leader>ig (intent-guides)
|
||||
|
||||
; <C-n> to select current word. <C-n> to select next occurrence.
|
||||
; with multiple lines selected in Visual mode, <C-n> to insert cursor in each line. I not i to insert in Visual-mode.
|
||||
:terryma/vim-multiple-cursors {}
|
||||
:mg979/vim-visual-multi {}
|
||||
:hauleth/sad.vim {} ; Use siw instead of ciw. when using . afterwards, will find the next occurrence of the changed word and change it too
|
||||
:wellle/targets.vim {} ; more text objects. IE: cin (change in next parens). generally better handling of surrounding objects.
|
||||
(abuse
|
||||
use :terryma/vim-multiple-cursors {})
|
||||
(abuse
|
||||
use :mg979/vim-visual-multi {})
|
||||
(abuse
|
||||
use :hauleth/sad.vim {}) ; Use siw instead of ciw. when using . afterwards, will find the next occurrence of the changed word and change it too
|
||||
(abuse
|
||||
use :wellle/targets.vim {}) ; more text objects. IE: cin (change in next parens). generally better handling of surrounding objects.
|
||||
|
||||
:iamcco/markdown-preview.nvim {:run vim.fn.mkdp#util#install}
|
||||
; (abuse use :iamcco/markdown-preview.nvim {:run vim.fn.mkdp#util#install})
|
||||
|
||||
:rcarriga/nvim-dap-ui {:opt false
|
||||
:config #(req dapui.setup)
|
||||
:requires [:mfussenegger/nvim-dap]}
|
||||
:mfussenegger/nvim-dap {:opt false}
|
||||
;:mod "dots.plugins.nvim-dap"}
|
||||
:nvim-telescope/telescope-dap.nvim {:opt false
|
||||
:requires [:mfussenegger/nvim-dap
|
||||
:nvim-telescope/telescope.nvim]}
|
||||
(abuse
|
||||
use
|
||||
:rcarriga/nvim-dap-ui {:opt false
|
||||
:opt false :config #((. (require :dapui) :setup))
|
||||
;:opt false :config #(req dapui.setup)
|
||||
:requires [:mfussenegger/nvim-dap]})
|
||||
|
||||
(abuse
|
||||
use :mfussenegger/nvim-dap {:opt false})
|
||||
;:opt false :config #(require "dots.plugins.nvim-dap")}
|
||||
(abuse
|
||||
use
|
||||
:nvim-telescope/telescope-dap.nvim {:opt false
|
||||
:requires [:mfussenegger/nvim-dap
|
||||
:nvim-telescope/telescope.nvim]})
|
||||
|
||||
; code-related ----------------------------------------- <<<
|
||||
|
||||
:ray-x/lsp_signature.nvim {:events [:BufEnter]}
|
||||
"/home/leon/coding/prs/trouble.nvim" {:mod "dots.plugins.trouble"
|
||||
:cmd ["Trouble" "TroubleClose" "TroubleRefresh" "TroubleToggle"]}
|
||||
;:folke/lsp-trouble.nvim {:mod "dots.plugins.trouble"
|
||||
|
||||
(abuse
|
||||
use :ray-x/lsp_signature.nvim {:events [:BufEnter]})
|
||||
(abuse
|
||||
use
|
||||
"/home/leon/coding/prs/trouble.nvim" {:opt false :config #(require "dots.plugins.trouble")
|
||||
:cmd ["Trouble" "TroubleClose" "TroubleRefresh" "TroubleToggle"]})
|
||||
;:folke/lsp-trouble.nvim {:opt false :config #(require "dots.plugins.trouble")
|
||||
;:cmd ["Trouble" "TroubleClose" "TroubleRefresh" "TroubleToggle"]}
|
||||
:simrat39/symbols-outline.nvim {:mod "dots.plugins.symbols-outline"}
|
||||
:neovim/nvim-lspconfig {}
|
||||
(abuse
|
||||
use
|
||||
:simrat39/symbols-outline.nvim {:opt false :config #(require "dots.plugins.symbols-outline")})
|
||||
(abuse
|
||||
use
|
||||
:neovim/nvim-lspconfig {})
|
||||
|
||||
;:hrsh7th/nvim-compe {:mod "dots.plugins.compe"}
|
||||
;:hrsh7th/nvim-compe {:opt false :config #(require "dots.plugins.compe")}
|
||||
;:/home/leon/coding/prs/nvim-compe {:event [:InsertEnter]
|
||||
;:mod "dots.plugins.compe"}
|
||||
:ms-jpq/coq_nvim {:mod "dots.plugins.coq-nvim"
|
||||
:branch "coq"}
|
||||
;:opt false :config #(require "dots.plugins.compe")}
|
||||
;:ms-jpq/coq_nvim {:opt false :config #(require "dots.plugins.coq-nvim")
|
||||
;:branch "coq"
|
||||
|
||||
:ms-jpq/coq.artifacts {:branch "artifacts"}
|
||||
;:ms-jpq/coq.artifacts {:branch "artifacts"}
|
||||
|
||||
(abuse use :hrsh7th/cmp-nvim-lsp {})
|
||||
(abuse use :hrsh7th/cmp-buffer {})
|
||||
(abuse
|
||||
use
|
||||
:hrsh7th/nvim-cmp
|
||||
{:opt false
|
||||
:requires [:hrsh7th/cmp-nvim-lsp :hrsh7th/cmp-buffer]
|
||||
:config #(require "dots.plugins.cmp")})
|
||||
|
||||
|
||||
|
||||
(abuse
|
||||
use
|
||||
:tami5/lspsaga.nvim {:after "vim-gruvbox8"
|
||||
:opt false
|
||||
:config #(require "dots.plugins.lspsaga")})
|
||||
|
||||
:glepnir/lspsaga.nvim {:after "vim-gruvbox8"
|
||||
:mod "dots.plugins.lspsaga"}
|
||||
|
||||
:sbdchd/neoformat {}
|
||||
(abuse
|
||||
use
|
||||
:sbdchd/neoformat {})
|
||||
|
||||
|
||||
;; --------------------
|
||||
|
||||
:AndrewRadev/splitjoin.vim {}
|
||||
; (use :AndrewRadev/splitjoin.vim {})
|
||||
|
||||
:Olical/conjure {}
|
||||
:tami5/compe-conjure {:requires [:Olical/conjure]}
|
||||
(abuse
|
||||
use
|
||||
:Olical/conjure {})
|
||||
|
||||
:ciaranm/detectindent {:mod "dots.plugins.detect-indent"}
|
||||
:pechorin/any-jump.vim {}
|
||||
:justinmk/vim-sneak {:mod "dots.plugins.sneak"}
|
||||
:psliwka/vim-smoothie {}
|
||||
:editorconfig/editorconfig-vim {}
|
||||
:tommcdo/vim-exchange {}
|
||||
(abuse
|
||||
use
|
||||
:tami5/compe-conjure {:requires [:Olical/conjure]})
|
||||
|
||||
(abuse
|
||||
use
|
||||
:ciaranm/detectindent {:opt false :config #(require "dots.plugins.detect-indent")})
|
||||
(abuse
|
||||
use :pechorin/any-jump.vim {})
|
||||
(abuse
|
||||
use :justinmk/vim-sneak {:opt false :config #(require "dots.plugins.sneak")})
|
||||
(abuse
|
||||
use :psliwka/vim-smoothie {})
|
||||
(abuse
|
||||
use :editorconfig/editorconfig-vim {})
|
||||
(abuse
|
||||
use :tommcdo/vim-exchange {})
|
||||
|
||||
;:frazrepo/vim-rainbow {}
|
||||
|
||||
;:bhurlow/vim-parinfer {:ft ["fennel" "carp" "lisp" "elisp"]}
|
||||
|
||||
:eraserhd/parinfer-rust {:run "cargo build --release"}
|
||||
(abuse use :eraserhd/parinfer-rust {:run "cargo build --release"})
|
||||
|
||||
;:/home/leon/coding/prs/parinfer-rust {}
|
||||
;"elkowar/parinfer-rust" {:run "cargo build --release"
|
||||
;:branch "yuck"}
|
||||
|
||||
:bduggan/vim-raku {:ft ["raku"]}
|
||||
:LnL7/vim-nix {:ft ["nix"]}
|
||||
(abuse
|
||||
use :bduggan/vim-raku {:ft ["raku"]})
|
||||
(abuse
|
||||
use :LnL7/vim-nix {:ft ["nix"]})
|
||||
|
||||
:kevinoid/vim-jsonc {}
|
||||
(abuse
|
||||
use :kevinoid/vim-jsonc {})
|
||||
|
||||
:norcalli/nvim-colorizer.lua {:mod "dots.plugins.nvim-colorizer"}
|
||||
:pangloss/vim-javascript {} ; syntax highlighting JS
|
||||
:ianks/vim-tsx {}
|
||||
:leafgarland/typescript-vim {}
|
||||
;:sheerun/vim-polyglot {:event [:BufEnter]} ; Syntax highlighting for most languages
|
||||
:HerringtonDarkholme/yats.vim {} ; typescript syntax highlighting
|
||||
:mxw/vim-jsx {}
|
||||
:mattn/emmet-vim {:mod "dots.plugins.emmet"}
|
||||
(abuse
|
||||
use :norcalli/nvim-colorizer.lua {:opt false :config #(require "dots.plugins.nvim-colorizer")})
|
||||
(abuse
|
||||
use :pangloss/vim-javascript {}) ; syntax highlighting JS
|
||||
(abuse
|
||||
use :ianks/vim-tsx {})
|
||||
(abuse
|
||||
use :leafgarland/typescript-vim {})
|
||||
(abuse
|
||||
use :HerringtonDarkholme/yats.vim {}) ; typescript syntax highlighting
|
||||
(abuse
|
||||
use :mxw/vim-jsx {})
|
||||
(abuse
|
||||
use :mattn/emmet-vim {:opt false :config #(require "dots.plugins.emmet")})
|
||||
|
||||
:purescript-contrib/purescript-vim {}
|
||||
(abuse
|
||||
use :purescript-contrib/purescript-vim {})
|
||||
|
||||
|
||||
:derekelkins/agda-vim {:ft ["agda"]}
|
||||
:neovimhaskell/haskell-vim { :ft ["haskell"]}
|
||||
(abuse
|
||||
use :derekelkins/agda-vim {:ft ["agda"]})
|
||||
(abuse
|
||||
use :neovimhaskell/haskell-vim { :ft ["haskell"]})
|
||||
|
||||
:rust-lang/rust.vim {:ft ["rust"]
|
||||
:requires ["mattn/webapi-vim"]
|
||||
:config #(do (set vim.g.rustfmt_fail_silently 1))}
|
||||
(abuse
|
||||
use
|
||||
:rust-lang/rust.vim {:ft ["rust"]
|
||||
:requires ["mattn/webapi-vim"]
|
||||
:opt false :config #(do (set vim.g.rustfmt_fail_silently 1))})
|
||||
|
||||
:simrat39/rust-tools.nvim {:requires ["nvim-lua/popup.nvim" "nvim-lua/plenary.nvim"]}
|
||||
(abuse
|
||||
use
|
||||
:simrat39/rust-tools.nvim {:requires ["nvim-lua/popup.nvim" "nvim-lua/plenary.nvim"]})
|
||||
|
||||
:qnighy/lalrpop.vim {}
|
||||
; (use
|
||||
; :Saecki/crates.nvim {:requires ["nvim-lua/plenary.nvim"]
|
||||
; :event ["BufRead Cargo.toml"]
|
||||
; :opt false :config #((. (require "crates") :setup))})
|
||||
|
||||
:edwinb/idris2-vim {:ft ["idris2"]}
|
||||
(abuse
|
||||
use
|
||||
:qnighy/lalrpop.vim {})
|
||||
|
||||
(abuse
|
||||
use
|
||||
:edwinb/idris2-vim {:ft ["idris2"]})
|
||||
;:ShinKage/nvim-idris2 {}
|
||||
:vmchale/ats-vim {:ft ["ats" "dats" "sats"]}
|
||||
:google/vim-jsonnet {}
|
||||
(abuse
|
||||
use
|
||||
:vmchale/ats-vim {:ft ["ats" "dats" "sats"]})
|
||||
|
||||
:bakpakin/fennel.vim {}
|
||||
(abuse
|
||||
use
|
||||
:google/vim-jsonnet {})
|
||||
|
||||
:evanleck/vim-svelte {})
|
||||
(abuse
|
||||
use
|
||||
:bakpakin/fennel.vim {})
|
||||
|
||||
(abuse
|
||||
use
|
||||
:evanleck/vim-svelte {})))
|
||||
|
||||
; >>>
|
||||
|
||||
|
|
|
@ -65,4 +65,4 @@
|
|||
|
||||
|
||||
(utils.highlight :BufferLineInfoSelected {:bg colors.neutral_aqua :fg colors.dark0 :gui "NONE"})
|
||||
|
||||
(defn foo [] (print "hi"))
|
||||
|
|
13
nvim/.config/nvim/fnl/dots/plugins/cmp.fnl
Normal file
13
nvim/.config/nvim/fnl/dots/plugins/cmp.fnl
Normal file
|
@ -0,0 +1,13 @@
|
|||
(module dots.plugins.cmp
|
||||
{autoload {a aniseed.core
|
||||
cmp cmp}})
|
||||
|
||||
|
||||
(cmp.setup
|
||||
{:mapping {:<C-d> (cmp.mapping.scroll_docs -4)
|
||||
:<C-f> (cmp.mapping.scroll_docs 4)
|
||||
:<C-space> (cmp.mapping.complete)
|
||||
:<esc> #(do (cmp.mapping.close) (vim.cmd "stopinsert"))
|
||||
:<CR> (cmp.mapping.confirm {:select true})}
|
||||
:sources [{:name "nvim_lsp"}
|
||||
{:name "buffer"}]})
|
|
@ -4,7 +4,8 @@
|
|||
|
||||
(set vim.g.coq_settings {:limits.completion_auto_timeout 1
|
||||
:clients.lsp.weight_adjust 2
|
||||
:clients.tree_sitter.enabled false})
|
||||
:clients.tree_sitter.enabled false
|
||||
:display.icons.mode "short"})
|
||||
|
||||
|
||||
(vim.cmd "autocmd! InsertEnter * COQnow --shut-up")
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
feline-lsp feline.providers.lsp}
|
||||
require-macros [macros]})
|
||||
|
||||
|
||||
(local modes
|
||||
{:n {:text "NORMAL" :color colors.neutral_aqua}
|
||||
:i {:text "INSERT" :color colors.neutral_yellow}
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
{autoload {a aniseed.core
|
||||
lsp lspconfig
|
||||
lsp-configs lspconfig/configs
|
||||
utils dots.utils}
|
||||
utils dots.utils
|
||||
cmp_nvim_lsp cmp_nvim_lsp}
|
||||
|
||||
require-macros [macros]})
|
||||
|
||||
|
@ -51,8 +52,11 @@
|
|||
(def default-capabilities
|
||||
(let [capabilities (vim.lsp.protocol.make_client_capabilities)]
|
||||
(set capabilities.textDocument.completion.completionItem.snippetSupport true)
|
||||
(cmp_nvim_lsp.update_capabilities capabilities)
|
||||
capabilities))
|
||||
|
||||
(print cmp_nvim_lsp)
|
||||
|
||||
(fn init-lsp [lsp-name ?opts]
|
||||
"initialize a language server with defaults"
|
||||
(let [merged-opts (a.merge {:on_attach on_attach :capabilities default-capabilities} (or ?opts {}))]
|
||||
|
@ -76,16 +80,17 @@
|
|||
(init-lsp :yamlls)
|
||||
(init-lsp :html)
|
||||
(init-lsp :svelte)
|
||||
(init-lsp :elmls)
|
||||
;(init-lsp :clangd)
|
||||
;(init-lsp :ccls)
|
||||
|
||||
|
||||
(when (not lsp.ewwls)
|
||||
(set lsp-configs.ewwls
|
||||
{:default_config {:cmd [ "/home/leon/coding/projects/ls-eww/crates/ewwls/target/debug/ewwls"]
|
||||
:filetypes ["yuck"]
|
||||
:root_dir (fn [fname] (or (lsp.util.find_git_ancestor fname) (vim.loop.os_homedir)))
|
||||
:settings {}}}))
|
||||
;(when (not lsp.ewwls)
|
||||
;(set lsp-configs.ewwls
|
||||
;{:default_config {:cmd [ "/home/leon/coding/projects/ls-eww/crates/ewwls/target/debug/ewwls"]
|
||||
;:filetypes ["yuck"]
|
||||
;:root_dir (fn [fname] (or (lsp.util.find_git_ancestor fname) (vim.loop.os_homedir)))
|
||||
;:settings {}}}))
|
||||
|
||||
(init-lsp :ewwls)
|
||||
|
||||
|
@ -105,8 +110,9 @@
|
|||
(let [rust-tools (require "rust-tools")]
|
||||
(rust-tools.setup {:tools {:inlay_hints {:show_parameter_hints false}
|
||||
:autoSetHints false}
|
||||
:server {:on_attach on_attach
|
||||
:cmd ["/home/leon/coding/prs/rust-analyzer/target/release/rust-analyzer"]}}))
|
||||
:server {:on_attach on_attach}}))
|
||||
;:capabilities default-capabilities}}))
|
||||
;:cmd ["/home/leon/coding/prs/rust-analyzer/target/release/rust-analyzer"]}}))
|
||||
|
||||
(let [sumneko_root_path (.. vim.env.HOME "/.local/share/lua-language-server")
|
||||
sumneko_binary (.. sumneko_root_path "/bin/Linux/lua-language-server")]
|
||||
|
|
|
@ -5,7 +5,8 @@
|
|||
require-macros [macros]})
|
||||
|
||||
(configs.setup
|
||||
{:ensure_installed "all"
|
||||
{:ensure_installed []
|
||||
; :ensure_installed "maintained"
|
||||
:highlight {:enable true
|
||||
:disable ["fennel" "rust" "haskell"]}
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
(module init
|
||||
{autoload {utils dots.utils
|
||||
nvim aniseed.nvim
|
||||
|
|
|
@ -7,20 +7,31 @@ local vim_config_root = vim.fn.expand("<sfile>:p:h")
|
|||
|
||||
local pack_path = vim.fn.stdpath("data") .. "/site/pack"
|
||||
|
||||
function ensure(user, repo)
|
||||
function ensure(user, repo, branch, commit)
|
||||
-- Ensures a given github.com/USER/REPO is cloned in the pack/packer/start directory.
|
||||
local install_path = string.format("%s/packer/start/%s", pack_path, repo, repo)
|
||||
local install_path = pack_path .. "/packer/start/" .. repo
|
||||
-- local install_path = string.format("%s/packer/start/%s", pack_path, repo, repo)
|
||||
if vim.fn.empty(vim.fn.glob(install_path)) > 0 then
|
||||
--vim.api.nvim_command(string.format("!git clone https://github.com/%s/%s %s", user, repo, install_path))
|
||||
vim.fn.system({"git", "clone", "https://github.com/" .. user .. "/" .. repo, install_path})
|
||||
vim.fn.system({"git", "clone", "--depth", "1", "--branch", branch, "https://github.com/" .. user .. "/" .. repo, install_path})
|
||||
if commit ~= nil then
|
||||
vim.fn.system({"git", "--git-dir", install_path .. "/.git", "reset", "--hard", commit})
|
||||
end
|
||||
vim.api.nvim_command(string.format("packadd %s", repo))
|
||||
end
|
||||
end
|
||||
|
||||
-- Bootstrap essential plugins required for installing and loading the rest.
|
||||
ensure("wbthomason", "packer.nvim")
|
||||
ensure("Olical", "aniseed")
|
||||
ensure("wbthomason", "packer.nvim", "master")
|
||||
ensure("Olical", "aniseed", "develop")
|
||||
-- ensure("Olical", "aniseed", "v3.22.0")
|
||||
--ensure("wbthomason", "packer.nvim", "master", "daec6c759f95cd8528e5dd7c214b18b4cec2658c")
|
||||
--ensure("Olical", "aniseed", "v3.21.0")
|
||||
|
||||
vim.g["aniseed#env"] = {
|
||||
|
||||
vim.g["aniseed#env"] = {
|
||||
compile = true
|
||||
}
|
||||
--require("aniseed.env").init({compile = true})
|
||||
|
||||
|
||||
vim.cmd ("source "..vim_config_root.."/amulet.vim")
|
||||
|
|
Loading…
Reference in a new issue