This commit is contained in:
elkowar 2021-10-08 13:04:57 +02:00
parent b02bd70669
commit ba10fd7e89
No known key found for this signature in database
GPG key ID: E321AD71B1D1F27F
16 changed files with 616 additions and 146 deletions

View file

@ -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))))

View file

@ -97,6 +97,7 @@ in
kmonad
gitAndTools.delta
git-fuzzy
codelldb
]
)
(

View file

@ -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 = [

View file

@ -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";
}

View 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 $@
#''

View 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;
};
}

View 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

View file

@ -1,202 +1,340 @@
(module dots.plugins
{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"}))}
: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")}
{require {a aniseed.core}
require-macros [macros]})
:kyazdani42/nvim-web-devicons {}
(defn abuse [use stuff rest]
(use (a.assoc rest 1 stuff)))
: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]}
(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")}
(abuse
use :kyazdani42/nvim-web-devicons {})
(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 {})))
; >>>

View file

@ -65,4 +65,4 @@
(utils.highlight :BufferLineInfoSelected {:bg colors.neutral_aqua :fg colors.dark0 :gui "NONE"})
(defn foo [] (print "hi"))

View 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"}]})

View file

@ -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")

View file

@ -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}

View file

@ -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")]

View file

@ -5,7 +5,8 @@
require-macros [macros]})
(configs.setup
{:ensure_installed "all"
{:ensure_installed []
; :ensure_installed "maintained"
:highlight {:enable true
:disable ["fennel" "rust" "haskell"]}

View file

@ -1,3 +1,4 @@
(module init
{autoload {utils dots.utils
nvim aniseed.nvim

View file

@ -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"] = {
compile = true
}
--require("aniseed.env").init({compile = true})
vim.cmd ("source "..vim_config_root.."/amulet.vim")