From 0da729ce7eda7211b14b7d8d00c1b5ea90075f12 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Tue, 12 Nov 2024 10:23:30 +0900 Subject: [PATCH 01/42] update(nix): add starship & reevaluate --- nix/flake.lock | 27 +++++++++++++++++++++++++++ nix/flake.nix | 1 + 2 files changed, 28 insertions(+) create mode 100644 nix/flake.lock diff --git a/nix/flake.lock b/nix/flake.lock new file mode 100644 index 0000000..e3a64e1 --- /dev/null +++ b/nix/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1731139594, + "narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/nix/flake.nix b/nix/flake.nix index b43071e..c6dcf63 100644 --- a/nix/flake.nix +++ b/nix/flake.nix @@ -16,6 +16,7 @@ nixpkgs.legacyPackages.x86_64-linux.neovim nixpkgs.legacyPackages.x86_64-linux.ripgrep nixpkgs.legacyPackages.x86_64-linux.fzf + nixpkgs.legacyPackages.x86_64-linux.starship nixpkgs.legacyPackages.x86_64-linux.clang-tools ]; From 7d8b8e3f14b19ed193f32083d706d1a8e2d09cb5 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Tue, 12 Nov 2024 11:06:56 +0900 Subject: [PATCH 02/42] udpate(nix): add bat --- nix/flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/flake.nix b/nix/flake.nix index c6dcf63..b82ede3 100644 --- a/nix/flake.nix +++ b/nix/flake.nix @@ -15,6 +15,7 @@ nixpkgs.legacyPackages.x86_64-linux.curl nixpkgs.legacyPackages.x86_64-linux.neovim nixpkgs.legacyPackages.x86_64-linux.ripgrep + nixpkgs.legacyPackages.x86_64-linux.bat nixpkgs.legacyPackages.x86_64-linux.fzf nixpkgs.legacyPackages.x86_64-linux.starship From 66420d376e97914a68d7e73f1341bbc7f4d1941f Mon Sep 17 00:00:00 2001 From: qwjyh Date: Thu, 30 Jan 2025 17:59:51 +0900 Subject: [PATCH 03/42] (WIP) update(lf): update lf config --- dotfiles/lf/lfrc | 62 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 43 insertions(+), 19 deletions(-) diff --git a/dotfiles/lf/lfrc b/dotfiles/lf/lfrc index 15b8558..a0ca2df 100644 --- a/dotfiles/lf/lfrc +++ b/dotfiles/lf/lfrc @@ -1,23 +1,47 @@ cmap cmd-menu-complete cmap cmd-menu-complete-back -## https://github.com/gokcehan/lf/wiki/Integrations#eza -#cmd on-select &{{ -# lf -remote "send $id set statfmt \"$(eza -ld --color=always "$f" | sed 's/\\/\\\\/g;s/"/\\"/g')\"" -#}} -# -#cmd git_branch ${{ -# git branch | fzf | xargs git checkout -# pwd_shell="$(pwd | sed 's/\\/\\\\/g;s/"/\\"/g')" -# lf -remote "send $id updir; cd \"$pwd_shell\"" -#}} -#map gb :git_branch -#map gp $clear; git pull --rebase || true; echo "press ENTER"; read ENTER -#map gs $clear; git status; echo "press ENTER"; read ENTER -#map gl $clear; git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit -# -#cmd on-cd &{{ -# fmt="$(STARSHIP_SHELL= starship prompt | sed 's/\\/\\\\/g;s/"/\\"/g')" -# lf -remote "send $id set promptfmt \"$fmt\"" -#}} +cmd fzf_search ${{ + cmd="rg --column --line-number --no-heading --color=always --smart-case" + fzf --ansi --disabled --layout=reverse --header="Search in files" --delimiter=: \ + --bind="start:reload([ -n {q} ] && $cmd -- {q} || true)" \ + --bind="change:reload([ -n {q} ] && $cmd -- {q} || true)" \ + --bind='enter:become(lf -remote "send $id select \"$(printf "%s" {1} | sed '\''s/\\/\\\\/g;s/"/\\"/g'\'')\"")' \ + --preview-window='+{2}-/2' \ + --preview='bat --color=always --highlight-line={2} -- {1}' + # --preview='cat -- {1}' # Use your favorite previewer here (bat, source-highlight, etc.), for example: + # --preview-window='+{2}-/2' \ + # --preview='bat --color=always --highlight-line={2} -- {1}' + # Alternatively you can even use the same previewer you've configured for lf + #--preview='~/.config/lf/cleaner; ~/.config/lf/previewer {1} "$FZF_PREVIEW_COLUMNS" "$FZF_PREVIEW_LINES" "$FZF_PREVIEW_LEFT" "$FZF_PREVIEW_TOP"')" +}} +map gs :fzf_search +# https://github.com/gokcehan/lf/wiki/Integrations#eza +cmd on-select &{{ + lf -remote "send $id set statfmt \"$(eza -ld --color=always "$f" | sed 's/\\/\\\\/g;s/"/\\"/g')\"" +}} + +cmd git_branch ${{ + git branch | fzf | xargs git checkout + pwd_shell="$(pwd | sed 's/\\/\\\\/g;s/"/\\"/g')" + lf -remote "send $id updir; cd \"$pwd_shell\"" +}} +map gb :git_branch +map gp $clear; git pull --rebase || true; echo "press ENTER"; read ENTER +map gs $clear; git status; echo "press ENTER"; read ENTER +map gl $clear; git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit + +cmd on-cd &{{ + fmt="$(STARSHIP_SHELL= starship prompt | sed 's/\\/\\\\/g;s/"/\\"/g')" + lf -remote "send $id set promptfmt \"$fmt\"" +}} + +set sixel true +set previewer ~/.config/lf/previewer + +# https://github.com/gokcehan/lf/wiki/Previews#with-sixel +# set previewer ctpv +# set cleaner ctpvclear +# &ctpv -s $id +# &ctpvquit $id From ddb9a620c97548a78c1bae3144c143fca8d3b4a0 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Thu, 30 Jan 2025 18:05:17 +0900 Subject: [PATCH 04/42] fix(julials): remove sysimage to fix too old LanguageServer.jl version being resolved --- bin/neovim/add_dependencies.jl | 15 ++++++++------- bin/neovim/update_julials.jl | 18 +++++++++--------- dotfiles/neovim/init.lua | 2 +- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/bin/neovim/add_dependencies.jl b/bin/neovim/add_dependencies.jl index f4560c5..6d0f710 100644 --- a/bin/neovim/add_dependencies.jl +++ b/bin/neovim/add_dependencies.jl @@ -6,24 +6,25 @@ using Pkg # add LanguageServer.jl Pkg.add("LanguageServer") -# add dependencies of LanguageServer.jl -pkg_ls = Pkg.project().dependencies["LanguageServer"] -pkg_ls_deps = Pkg.dependencies()[pkg_ls].dependencies |> keys -foreach(Pkg.add, pkg_ls_deps) +# add PackageCompiler.jl +Pkg.add("PackageCompiler") # add extra dependencies # these packages are manually collected pkg_extra = ["Logging", "Sockets", "DataStructures", "Tar", "ArgTools", "Dates", "Downloads", "TOML"] -foreach(Pkg.add, pkg_extra) -@info "dependency added" +Pkg.add(pkg_extra) +@info "added dependencies" + +# Extra package to be executed in precompiled code +pkg_precompiled = ["SymbolServer"] # save pkgs to be used for precompile functions with traced script out_path = joinpath(Pkg.project().path |> dirname, "precompile_exec_head.jl") @info "writing $(out_path)" open(out_path, "w") do io println(io, "using LanguageServer") - println(io, "using " * join(pkg_ls_deps, ", ")) println(io, "using " * join(pkg_extra, ", ")) + # println(io, "using " * join(pkg_precompiled, ", ")) if Sys.iswindows() println(io, "import FileWatching") end diff --git a/bin/neovim/update_julials.jl b/bin/neovim/update_julials.jl index 713c00b..a09971c 100644 --- a/bin/neovim/update_julials.jl +++ b/bin/neovim/update_julials.jl @@ -3,14 +3,14 @@ project_path = joinpath(homedir(), ".julia", "environments", "nvim-lspconfig") cd(project_path) do @info "now at " pwd() run(`julia --project=. -e 'using Pkg; Pkg.update()'`) - compile_traces = Iterators.filter(eachline("tracecompile.jl")) do line - # Remove anonymous functions from compile trace - !startswith(line, '#') && !occursin(r"\#\d+\#\d+", line) && !occursin(r"\#\#printstyled\#", line) - end |> join - read("precompile_exec_head.jl", String) * compile_traces |> (b -> write("precompile_exec.jl", b)) - @info "compiling sysimage..." - run(`julia --project=. -e 'using PackageCompiler; create_sysimage(["LanguageServer"], sysimage_path = "sys-ls.so", precompile_execution_file = ["precompile_exec.jl"])'`) - @info "post precompile" - run(`julia --project=. -J sys-ls.so -e 'using Pkg; Pkg.precompile()'`) + # compile_traces = Iterators.filter(eachline("tracecompile.jl")) do line + # # Remove anonymous functions from compile trace + # !startswith(line, '#') && !occursin(r"\#\d+\#\d+", line) && !occursin(r"\#\#printstyled\#", line) + # end |> join + # read("precompile_exec_head.jl", String) * compile_traces |> (b -> write("precompile_exec.jl", b)) + # @info "compiling sysimage..." + # run(`julia --project=. -e 'using PackageCompiler; create_sysimage(["LanguageServer"], sysimage_path = "sys-ls.so", precompile_execution_file = ["precompile_exec.jl"])'`) + # @info "post precompile" + # run(`julia --project=. -J sys-ls.so -e 'using Pkg; Pkg.precompile()'`) end diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index e4f7b46..415e042 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -686,7 +686,7 @@ lspconfig.julials.setup { on_attach = on_attach, capabilities = capabilities, cmd = { "julia", "--startup-file=no", "--history-file=no", - julials_so_option[1], julials_so_option[2], + -- julials_so_option[1], julials_so_option[2], -- use below 2 lines to collect script to be included in sysimage -- '--trace-compile', -- vim.env.HOME .. "/.julia/environments/nvim-lspconfig/tracecompile.jl", From 77df4f2c4fd213fd9f0006ecbf948f4f82671a29 Mon Sep 17 00:00:00 2001 From: testuser Date: Mon, 3 Feb 2025 13:05:35 +0900 Subject: [PATCH 05/42] fix: julials env (with sysimage) --- bin/neovim/add_dependencies.jl | 4 ++-- bin/neovim/update_julials.jl | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/bin/neovim/add_dependencies.jl b/bin/neovim/add_dependencies.jl index 6d0f710..46c7d44 100644 --- a/bin/neovim/add_dependencies.jl +++ b/bin/neovim/add_dependencies.jl @@ -11,12 +11,12 @@ Pkg.add("PackageCompiler") # add extra dependencies # these packages are manually collected -pkg_extra = ["Logging", "Sockets", "DataStructures", "Tar", "ArgTools", "Dates", "Downloads", "TOML"] +pkg_extra = ["Logging", "Sockets", "DataStructures", "Tar", "ArgTools", "Dates", "Downloads", "TOML", "JSONRPC", "SymbolServer"] Pkg.add(pkg_extra) @info "added dependencies" # Extra package to be executed in precompiled code -pkg_precompiled = ["SymbolServer"] +pkg_precompiled = [] # save pkgs to be used for precompile functions with traced script out_path = joinpath(Pkg.project().path |> dirname, "precompile_exec_head.jl") diff --git a/bin/neovim/update_julials.jl b/bin/neovim/update_julials.jl index a09971c..713c00b 100644 --- a/bin/neovim/update_julials.jl +++ b/bin/neovim/update_julials.jl @@ -3,14 +3,14 @@ project_path = joinpath(homedir(), ".julia", "environments", "nvim-lspconfig") cd(project_path) do @info "now at " pwd() run(`julia --project=. -e 'using Pkg; Pkg.update()'`) - # compile_traces = Iterators.filter(eachline("tracecompile.jl")) do line - # # Remove anonymous functions from compile trace - # !startswith(line, '#') && !occursin(r"\#\d+\#\d+", line) && !occursin(r"\#\#printstyled\#", line) - # end |> join - # read("precompile_exec_head.jl", String) * compile_traces |> (b -> write("precompile_exec.jl", b)) - # @info "compiling sysimage..." - # run(`julia --project=. -e 'using PackageCompiler; create_sysimage(["LanguageServer"], sysimage_path = "sys-ls.so", precompile_execution_file = ["precompile_exec.jl"])'`) - # @info "post precompile" - # run(`julia --project=. -J sys-ls.so -e 'using Pkg; Pkg.precompile()'`) + compile_traces = Iterators.filter(eachline("tracecompile.jl")) do line + # Remove anonymous functions from compile trace + !startswith(line, '#') && !occursin(r"\#\d+\#\d+", line) && !occursin(r"\#\#printstyled\#", line) + end |> join + read("precompile_exec_head.jl", String) * compile_traces |> (b -> write("precompile_exec.jl", b)) + @info "compiling sysimage..." + run(`julia --project=. -e 'using PackageCompiler; create_sysimage(["LanguageServer"], sysimage_path = "sys-ls.so", precompile_execution_file = ["precompile_exec.jl"])'`) + @info "post precompile" + run(`julia --project=. -J sys-ls.so -e 'using Pkg; Pkg.precompile()'`) end From 3491aed70b40bb11431a33b4441cb78cd28c3bad Mon Sep 17 00:00:00 2001 From: qwjyh Date: Tue, 4 Feb 2025 00:56:35 +0900 Subject: [PATCH 06/42] update(julia): call Pkg --- bin/neovim/setup_julials.jl | 7 ++++--- bin/neovim/update_julials.jl | 7 +++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/bin/neovim/setup_julials.jl b/bin/neovim/setup_julials.jl index f6107bd..dbd44f3 100644 --- a/bin/neovim/setup_julials.jl +++ b/bin/neovim/setup_julials.jl @@ -5,7 +5,8 @@ if !ispath(project_path) @info "Created $(project_path)" touch(joinpath(project_path, "tracecompile.jl")) end -cmd = `julia --project=$(project_path) $(@__DIR__)/add_dependencies.jl` -@info cmd -run(cmd) + +using Pkg +Pkg.activate(project_path) +include("$(@__DIR__)/add_dependencies.jl") diff --git a/bin/neovim/update_julials.jl b/bin/neovim/update_julials.jl index 713c00b..cfdc4cf 100644 --- a/bin/neovim/update_julials.jl +++ b/bin/neovim/update_julials.jl @@ -2,14 +2,17 @@ project_path = joinpath(homedir(), ".julia", "environments", "nvim-lspconfig") cd(project_path) do @info "now at " pwd() - run(`julia --project=. -e 'using Pkg; Pkg.update()'`) + using Pkg + Pkg.activate(".") + Pkg.update() compile_traces = Iterators.filter(eachline("tracecompile.jl")) do line # Remove anonymous functions from compile trace !startswith(line, '#') && !occursin(r"\#\d+\#\d+", line) && !occursin(r"\#\#printstyled\#", line) end |> join read("precompile_exec_head.jl", String) * compile_traces |> (b -> write("precompile_exec.jl", b)) @info "compiling sysimage..." - run(`julia --project=. -e 'using PackageCompiler; create_sysimage(["LanguageServer"], sysimage_path = "sys-ls.so", precompile_execution_file = ["precompile_exec.jl"])'`) + using PackageCompiler; + create_sysimage(["LanguageServer"], sysimage_path = "sys-ls.so", precompile_execution_file = ["precompile_exec.jl"])' @info "post precompile" run(`julia --project=. -J sys-ls.so -e 'using Pkg; Pkg.precompile()'`) end From 16903271a5e9d1f9126affa6967c60e7f34269fc Mon Sep 17 00:00:00 2001 From: qwjyh Date: Tue, 4 Feb 2025 02:43:04 +0900 Subject: [PATCH 07/42] update(pwsh): update Enable-SshAgent for new "sudo" introduced in 24H2 --- dotfiles/pwsh/powershell_profile.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotfiles/pwsh/powershell_profile.ps1 b/dotfiles/pwsh/powershell_profile.ps1 index b9e0ae5..096a09a 100644 --- a/dotfiles/pwsh/powershell_profile.ps1 +++ b/dotfiles/pwsh/powershell_profile.ps1 @@ -139,7 +139,7 @@ function Enable-SshAgent { .OUTPUTS no outputs #> - sudo Set-Service -Name ssh-agent -StartupType Manual && Start-Service ssh-agent + sudo run pwsh -c "Set-Service -Name ssh-agent -StartupType Manual && Start-Service ssh-agent" } # auto start ssh-agent and do ssh-add function Invoke-SshAdd { From da0c5d8dec78728cc4cfe0811270a5514f985141 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Sun, 23 Feb 2025 03:13:23 +0900 Subject: [PATCH 08/42] new(neovim): add nvim-treesitter-context --- dotfiles/neovim/init.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index 415e042..f53468b 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -114,6 +114,9 @@ require('lazy').setup({ build = ":TSUpdate", dependencies = { "nvim-treesitter/nvim-treesitter-textobjects", + { + "nvim-treesitter/nvim-treesitter-context" + } }, }, { From 6c60650872c90abff6d4ea689fab41a96c92959a Mon Sep 17 00:00:00 2001 From: qwjyh Date: Sun, 23 Feb 2025 03:13:48 +0900 Subject: [PATCH 09/42] new(nvim): add telescope current_buffer_fuzzy_find binding --- dotfiles/neovim/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index f53468b..8857ac9 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -498,6 +498,7 @@ vim.keymap.set('n', 'fli', builtin.lsp_incoming_calls, { desc = "lsp inc vim.keymap.set('n', 'flo', builtin.lsp_outgoing_calls, { desc = "lsp outgoing calls" }) vim.keymap.set('n', 'fll', builtin.lsp_implementations, { desc = "lsp implementations" }) vim.keymap.set('n', 'fb', builtin.buffers, { desc = "buffers" }) +vim.keymap.set('n', 'fz', builtin.current_buffer_fuzzy_find, { desc = "current buffer fuzzy find" }) vim.keymap.set('n', 'fg', builtin.live_grep, { desc = "grep" }) vim.keymap.set('n', 'fh', builtin.help_tags, { desc = "help tags" }) vim.keymap.set('n', 'fc', builtin.git_commits, { desc = "git commit" }) From 4f2f2187f341558a8aef8638ad9d519a22b84f39 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Sun, 23 Feb 2025 03:14:15 +0900 Subject: [PATCH 10/42] new(nvim): add lsp goto type_definition --- dotfiles/neovim/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index 8857ac9..f6e2d1e 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -633,6 +633,7 @@ local on_attach = function(client, bufnr) local bufopts = { noremap = true, silent = true, buffer = bufnr } vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) + vim.keymap.set('n', 'gT', vim.lsp.buf.type_definition, bufopts) vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) vim.keymap.set('n', 'g1', vim.lsp.buf.implementation, bufopts) vim.keymap.set('n', '', vim.lsp.buf.signature_help, bufopts) From 29ad5b91bf1d53dd02cab3a18a82b2e81d0d8467 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Sun, 23 Feb 2025 03:15:04 +0900 Subject: [PATCH 11/42] update(nvim): enable inlay hints in rust_analyzer and add cargo.features = "all" --- dotfiles/neovim/init.lua | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index f6e2d1e..f577e28 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -769,15 +769,21 @@ lspconfig.tinymist.setup { } lspconfig.rust_analyzer.setup { - on_attach = on_attach, + on_attach = function(client, bufnr) + on_attach(client, bufnr) + vim.lsp.inlay_hint.enable(true, { bufnr = bufnr }) + end, capabilities = capabilities, settings = { ['rust-analyzer'] = { + cargo = { + features = "all", + }, check = { command = "clippy", - } - } - } + }, + }, + }, } local lss = { "pyright", "texlab", --[[ "ccls", ]] "clangd", "ts_ls", --[["tailwindcss"]] "hls", "cmake", From ed9fafdc764a19a5c3eacf65c7a4db51b7fef036 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Sun, 23 Feb 2025 03:15:52 +0900 Subject: [PATCH 12/42] new(neovim): add tinymist format option --- dotfiles/neovim/init.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index f577e28..1e27109 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -766,6 +766,10 @@ lspconfig.tinymist.setup { on_attach = on_attach, capabilities = capabilities, single_file_support = true, + -- offset_encoding = "utf-8", + settings = { + formatterMode = "typstyle", + }, } lspconfig.rust_analyzer.setup { From c9026eb8429c38f0d76c1b8a26ba22aa8cf7e949 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Wed, 26 Feb 2025 19:36:07 +0900 Subject: [PATCH 13/42] new(fish): add rga fzf integrated func https://github.com/phiresky/ripgrep-all/blob/c97fa3a491f37a782fdcf95b505b56c866121006/README.md --- dotfiles/fish/config.fish | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/dotfiles/fish/config.fish b/dotfiles/fish/config.fish index 37148a4..f549acb 100644 --- a/dotfiles/fish/config.fish +++ b/dotfiles/fish/config.fish @@ -24,6 +24,25 @@ if status is-interactive # opam #source ~/.opam/opam-init/init.fish > /dev/null 2> /dev/null; or true + + function rga-fzf + set RG_PREFIX 'rga --files-with-matches' + if test (count $argv) -gt 1 + set RG_PREFIX "$RG_PREFIX $argv[1..-2]" + end + set -l file $file + set file ( + FZF_DEFAULT_COMMAND="$RG_PREFIX '$argv[-1]'" \ + fzf --sort \ + --preview='test ! -z {} && \ + rga --pretty --context 5 {q} {}' \ + --phony -q "$argv[-1]" \ + --bind "change:reload:$RG_PREFIX {q}" \ + --preview-window='50%:wrap' + ) && \ + echo "opening $file" && \ + open "$file" + end end # starship From 81e57446dedf7199c49df78a030cddec4d56cd15 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Mon, 3 Mar 2025 16:19:46 +0900 Subject: [PATCH 14/42] fix(julials): write using at the top level --- bin/neovim/update_julials.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/neovim/update_julials.jl b/bin/neovim/update_julials.jl index cfdc4cf..082a2b9 100644 --- a/bin/neovim/update_julials.jl +++ b/bin/neovim/update_julials.jl @@ -1,8 +1,9 @@ #!/usr/bin/julia project_path = joinpath(homedir(), ".julia", "environments", "nvim-lspconfig") +using Pkg +using PackageCompiler; cd(project_path) do @info "now at " pwd() - using Pkg Pkg.activate(".") Pkg.update() compile_traces = Iterators.filter(eachline("tracecompile.jl")) do line @@ -11,7 +12,6 @@ cd(project_path) do end |> join read("precompile_exec_head.jl", String) * compile_traces |> (b -> write("precompile_exec.jl", b)) @info "compiling sysimage..." - using PackageCompiler; create_sysimage(["LanguageServer"], sysimage_path = "sys-ls.so", precompile_execution_file = ["precompile_exec.jl"])' @info "post precompile" run(`julia --project=. -J sys-ls.so -e 'using Pkg; Pkg.precompile()'`) From 54a9cdfca2dbbe65860e8b5c1f1d8a87f0356a87 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Mon, 3 Mar 2025 16:21:56 +0900 Subject: [PATCH 15/42] new(pwsh): add YAZI_FILE_ONE env var to detect file --- dotfiles/pwsh/powershell_profile.ps1 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dotfiles/pwsh/powershell_profile.ps1 b/dotfiles/pwsh/powershell_profile.ps1 index 096a09a..fa8f8ae 100644 --- a/dotfiles/pwsh/powershell_profile.ps1 +++ b/dotfiles/pwsh/powershell_profile.ps1 @@ -164,6 +164,8 @@ $env:LESS = "-i -M -R -S -W -z-4 -x4" $env:JL_SYSIMG_PATH = "$HOME/dotfiles/julia-sysimages" $env:JL_SYSIMG_PLT = "$HOME/dotfiles/julia-sysimages/sys-plotsmakie.so" $env:JL_SYSIMG_ETC = "$HOME/dotfiles/julia-sysimages/sys-etc.so" +# yazi file +$env:YAZI_FILE_ONE = "C:\Program Files\Git\usr\bin\file.exe" # ============================================================== From 279da20b9788543fd7b30a55e713e8e2d5da11a5 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Mon, 3 Mar 2025 21:31:35 +0900 Subject: [PATCH 16/42] remove duplicated config --- dotfiles/neovim/init.lua | 8 -------- 1 file changed, 8 deletions(-) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index 1e27109..f117e5b 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -125,14 +125,6 @@ require('lazy').setup({ }, { "andymass/vim-matchup", - config = function() - vim.g.matchup_matchparen_offscreen = { method = "popup" } - require 'nvim-treesitter.configs'.setup { - matchup = { - enable = true, - } - } - end, }, { 'nvim-telescope/telescope.nvim', From 8bf5f0adcf16eb6cc319fed46da94fa0d546ab1d Mon Sep 17 00:00:00 2001 From: qwjyh Date: Mon, 3 Mar 2025 21:32:32 +0900 Subject: [PATCH 17/42] update: fix treesitter config in orgmode setup --- dotfiles/neovim/init.lua | 8 -------- 1 file changed, 8 deletions(-) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index f117e5b..9bf8253 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -226,14 +226,6 @@ require('lazy').setup({ }, -- event = 'VeryLazy', -- doesn't work with existing comp and treesitter config = function() - -- Setup treesitter - require('nvim-treesitter.configs').setup({ - highlight = { - enable = true, - additional_vim_regex_highlighting = { 'org' }, - }, - ensure_installed = { 'org' }, - }) -- Setup orgmode require('orgmode').setup({ From 47b4fc83bc62f212c082ad044ecd873fa46d7b2b Mon Sep 17 00:00:00 2001 From: qwjyh Date: Tue, 4 Mar 2025 23:29:16 +0900 Subject: [PATCH 18/42] remove unnecessary lines (unused lspconfig) --- dotfiles/neovim/init.lua | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index 9bf8253..b813e64 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -734,17 +734,6 @@ lspconfig.powershell_es.setup { bundle_path = vim.fn.has('win32') == 1 and win_pwsh_es_path or arch_pwsh_es_path, capabilities = capabilities, } --- ccls --- -- csharp --- lspconfig.omnisharp.setup { --- cmd = {'omnisharp'}, --- } - --- lspconfig.typst_lsp.setup { --- on_attach = on_attach, --- capabilities = capabilities, --- single_file_support = true, --- } lspconfig.tinymist.setup { on_attach = on_attach, From 5f6e107b41c08b5faac368f2c09ccef7dd14816e Mon Sep 17 00:00:00 2001 From: qwjyh Date: Fri, 14 Mar 2025 04:34:52 +0900 Subject: [PATCH 19/42] refactor(nvim): separate lsp on_attach func to module to share the same config between general lspconfig & lean config --- bin/install.ps1 | 1 + bin/install.sh | 1 + dotfiles/neovim/init.lua | 50 ++---------------------------- dotfiles/neovim/lua/lsp_config.lua | 37 ++++++++++++++++++++++ 4 files changed, 41 insertions(+), 48 deletions(-) create mode 100644 dotfiles/neovim/lua/lsp_config.lua diff --git a/bin/install.ps1 b/bin/install.ps1 index be17a41..581923d 100644 --- a/bin/install.ps1 +++ b/bin/install.ps1 @@ -54,6 +54,7 @@ scoop import .\bin\windows\scoop_apps\scoop_minimal_apps.json New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\init.lua -Target (Resolve-Path .\dotfiles\neovim\init.lua) -Force New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\lua\lualine_setup.lua -Target (Resolve-Path .\dotfiles\neovim\lua\lualine_setup.lua) -Force New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\lua\term_powershell.lua -Target (Resolve-Path .\dotfiles\neovim\lua\term_powershell.lua) -Force +New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\lua\lsp_config.lua -Target (Resolve-Path .\dotfiles\neovim\lua\lsp_config.lua) -Force New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\lua\lspconfig\server_configurations\satysfi_ls.lua -Target (Resolve-Path .\dotfiles\neovim\lua\lspconfig\server_configurations\satysfi_ls.lua) -Force mkdir $env:LOCALAPPDATA\nvim\after\ftplugin New-Item -ItemType SymbolicLink -Path $env:LOCALAPPDATA\nvim\after\ftplugin\satysfi.lua -Target (Resolve-Path .\dotfiles\neovim\after\ftplugin\satysfi.lua) diff --git a/bin/install.sh b/bin/install.sh index 90626e9..3e649f6 100755 --- a/bin/install.sh +++ b/bin/install.sh @@ -25,6 +25,7 @@ ln -sf $(pwd)/dotfiles/neovim/init.lua ~/.config/nvim/init.lua mkdir -p ~/.config/nvim/lua ln -sf $(pwd)/dotfiles/neovim/lua/lualine_setup.lua ~/.config/nvim/lua/lualine_setup.lua ln -sf $(pwd)/dotfiles/neovim/lua/term_powershell.lua ~/.config/nvim/lua/term_powershell.lua +ln -sf $(pwd)/dotfiles/neovim/lua/lsp_config.lua ~/.config/nvim/lua/lsp_config.lua ln -sf $(pwd)/dotfiles/neovim/lua/pluto_nvim.lua ~/.config/nvim/lua/pluto_nvim.lua mkdir -p ~/.config/nvim/lua/lspconfig/server_configurations ln -sf $(pwd)/dotfiles/neovim/lua/lspconfig/server_configurations/satysfi_ls.lua ~/.config/nvim/lua/lspconfig/server_configurations/satysfi_ls.lua diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index b813e64..4d6599f 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -188,29 +188,7 @@ require('lazy').setup({ -- see Julian/lean.nvim readme opts = { lsp = { - on_attach = function(client, bufnr) - -- Enable completion triggered by - --vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') - - -- Mappings - -- See `:help vim.lsp.*` for documentation on any of the below function - local bufopts = { noremap = true, silent = true, buffer = bufnr } - vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) - vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) - vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) - vim.keymap.set('n', 'g1', vim.lsp.buf.implementation, bufopts) - vim.keymap.set('n', '', vim.lsp.buf.signature_help, bufopts) - vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, bufopts) - vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, bufopts) - vim.keymap.set('n', 'wl', function() - print(vim.inspect(vim.lsp.buf.list_workspace_folders())) - end, bufopts) - vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, bufopts) - vim.keymap.set('n', 'rn', vim.lsp.buf.rename, bufopts) - vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts) - vim.keymap.set('n', 'grf', vim.lsp.buf.references, bufopts) - vim.keymap.set('n', 'f', function() vim.lsp.buf.format { async = true } end, bufopts) - end, + on_attach = require("lsp_config").on_attach, }, mappings = true, }, @@ -226,7 +204,6 @@ require('lazy').setup({ }, -- event = 'VeryLazy', -- doesn't work with existing comp and treesitter config = function() - -- Setup orgmode require('orgmode').setup({ org_agenda_files = '~/orgfiles/**/*', @@ -608,30 +585,7 @@ vim.keymap.set('n', 'q', vim.diagnostic.setloclist, opts) -- Use an on_attach function to only map the following keys -- after the language server attaches to the current buffer -local on_attach = function(client, bufnr) - -- Enable completion triggered by - --vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') - - -- Mappings - -- See `:help vim.lsp.*` for documentation on any of the below function - local bufopts = { noremap = true, silent = true, buffer = bufnr } - vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) - vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) - vim.keymap.set('n', 'gT', vim.lsp.buf.type_definition, bufopts) - vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) - vim.keymap.set('n', 'g1', vim.lsp.buf.implementation, bufopts) - vim.keymap.set('n', '', vim.lsp.buf.signature_help, bufopts) - vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, bufopts) - vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, bufopts) - vim.keymap.set('n', 'wl', function() - print(vim.inspect(vim.lsp.buf.list_workspace_folders())) - end, bufopts) - vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, bufopts) - vim.keymap.set('n', 'rn', vim.lsp.buf.rename, bufopts) - vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts) - vim.keymap.set('n', 'grf', vim.lsp.buf.references, bufopts) - vim.keymap.set('n', 'f', function() vim.lsp.buf.format { async = true } end, bufopts) -end +local on_attach = require("lsp_config").on_attach -- cmp_nvim_lsp supports additional LSP completion capabilities local capabilities = require("cmp_nvim_lsp").default_capabilities() diff --git a/dotfiles/neovim/lua/lsp_config.lua b/dotfiles/neovim/lua/lsp_config.lua new file mode 100644 index 0000000..1f714f1 --- /dev/null +++ b/dotfiles/neovim/lua/lsp_config.lua @@ -0,0 +1,37 @@ +local M = {} + +---Add `desc` to bufopts table. +---@param bufopts vim.keymap.set.Opts +---@param desc string +---@return vim.keymap.set.Opts +local function with_desc(bufopts, desc) + return vim.tbl_extend("error", bufopts, { desc = desc }) +end + +M.on_attach = function(client, bufnr) + -- Enable completion triggered by + --vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') + + -- Mappings + -- See `:help vim.lsp.*` for documentation on any of the below function + local bufopts = { noremap = true, silent = true, buffer = bufnr } + vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, with_desc(bufopts, "goto declaration")) + vim.keymap.set('n', 'gd', vim.lsp.buf.definition, with_desc(bufopts, "goto definition")) + vim.keymap.set('n', 'gT', vim.lsp.buf.type_definition, with_desc(bufopts, "goto type definition")) + vim.keymap.set('n', 'K', vim.lsp.buf.hover, with_desc(bufopts, "lsp hover")) + vim.keymap.set('n', 'g1', vim.lsp.buf.implementation, with_desc(bufopts, "lsp implementations")) + vim.keymap.set('n', '', vim.lsp.buf.signature_help, with_desc(bufopts, "lsp signature help")) + vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, with_desc(bufopts, "lsp add_workspace_folder")) + vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, + with_desc(bufopts, "lsp remove_workspace_folder")) + vim.keymap.set('n', 'wl', function() + print(vim.inspect(vim.lsp.buf.list_workspace_folders())) + end, with_desc(bufopts, "lsp list_workspace_folders")) + vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, with_desc(bufopts, "lsp type definition")) + vim.keymap.set('n', 'rn', vim.lsp.buf.rename, with_desc(bufopts, "lsp rename")) + vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, with_desc(bufopts, "lsp code_action")) + vim.keymap.set('n', 'grf', vim.lsp.buf.references, with_desc(bufopts, "lsp references")) + vim.keymap.set('n', 'f', function() vim.lsp.buf.format { async = true } end, with_desc(bufopts, "lsp format")) +end + +return M From eb60fcf0b66275d33b38f8bb73f17fef40a11641 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Tue, 18 Mar 2025 02:51:14 +0900 Subject: [PATCH 20/42] update(nvim): update keyremap func annot --- dotfiles/neovim/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index 4d6599f..6645d65 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -423,7 +423,7 @@ require('gitsigns').setup { ---@param mode string|string[] ---@param l string ---@param r any - ---@param opts table? + ---@param opts vim.keymap.set.Opts? local function map(mode, l, r, opts) opts = opts or {} opts.buffer = bufnr From dc3cfa603510e9317d6cba8c183ff9f3b8547053 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Tue, 25 Mar 2025 16:19:36 +0900 Subject: [PATCH 21/42] update(nvim): remove typst_lsp --- dotfiles/neovim/init.lua | 6 ------ 1 file changed, 6 deletions(-) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index 1e27109..c985132 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -756,12 +756,6 @@ lspconfig.powershell_es.setup { -- cmd = {'omnisharp'}, -- } --- lspconfig.typst_lsp.setup { --- on_attach = on_attach, --- capabilities = capabilities, --- single_file_support = true, --- } - lspconfig.tinymist.setup { on_attach = on_attach, capabilities = capabilities, From 42d3439dbe254fa4c64e3109b62922469dca2ec7 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Tue, 25 Mar 2025 16:20:14 +0900 Subject: [PATCH 22/42] new(xremap): map Capslock to shift_l since my laptop's shift_l is broken --- extra_configs/xremap_config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/extra_configs/xremap_config.yml b/extra_configs/xremap_config.yml index db85d9e..15ba982 100644 --- a/extra_configs/xremap_config.yml +++ b/extra_configs/xremap_config.yml @@ -16,6 +16,9 @@ modmap: Win_L: held: Win_L alone: Key_Chat + - name: left shift + remap: + Capslock: shift_l keymap: - name: ZenkakuHankaku to Esc remap: From 88aabfd88f471dd0b34f88a8c26cb3b5ea939f0d Mon Sep 17 00:00:00 2001 From: qwjyh Date: Tue, 25 Mar 2025 16:21:27 +0900 Subject: [PATCH 23/42] new(nvim): add JETLS config https://github.com/aviatesk/JETLS.jl --- dotfiles/neovim/init.lua | 9 +++++ .../lspconfig/server_configurations/jetls.lua | 36 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 dotfiles/neovim/lua/lspconfig/server_configurations/jetls.lua diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index c985132..f3d4224 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -731,6 +731,15 @@ lspconfig.julials.setup { run(server) ]] } } +-- JETLS +require 'lspconfig.server_configurations.jetls' +lspconfig.jetls.setup { + on_attach = function(client, bufnr) + on_attach(client, bufnr) + vim.lsp.inlay_hint.enable(true, { bufnr = bufnr }) + end, + capabilities = capabilities, +} -- SATySFi require 'lspconfig.server_configurations.satysfi_ls' lspconfig.satysfi_ls.setup { diff --git a/dotfiles/neovim/lua/lspconfig/server_configurations/jetls.lua b/dotfiles/neovim/lua/lspconfig/server_configurations/jetls.lua new file mode 100644 index 0000000..fb6b304 --- /dev/null +++ b/dotfiles/neovim/lua/lspconfig/server_configurations/jetls.lua @@ -0,0 +1,36 @@ +local configs = require 'lspconfig.configs' +local util = require 'lspconfig.util' + +local root_files = { 'Project.toml', 'JuliaProject.toml' } + +configs.jetls = { + default_config = { + cmd = { + 'julia', + '--project=' .. vim.env.HOME .. '/work/julia/JETLS.jl', + '--startup-file=no', + '--history-file=no', + '-e', + [[ + using JETLS + runserver(stdin, stdout) + ]] + }, + filetypes = { 'julia' }, + root_dir = function(fname) + return util.root_pattern(unpack(root_files))(fname) + or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true, })[1]) + end, + single_file_support = true, + }, + commands = { + -- JuliaActivateEnv = { + -- activate_env + -- } + }, + docs = { + description = [[ +JETLS: https://github.com/aviatesk/JETLS.jl + ]], + }, +} From 0e68dd36508d8129399627571a54d0c9e3562f89 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Wed, 9 Apr 2025 05:20:51 +0900 Subject: [PATCH 24/42] refactor(nvim): remove treesitter setup from orgmode setup it is no longer in the example (maybe conflicted?) --- dotfiles/neovim/init.lua | 9 --------- 1 file changed, 9 deletions(-) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index f3d4224..a33a0db 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -234,15 +234,6 @@ require('lazy').setup({ }, -- event = 'VeryLazy', -- doesn't work with existing comp and treesitter config = function() - -- Setup treesitter - require('nvim-treesitter.configs').setup({ - highlight = { - enable = true, - additional_vim_regex_highlighting = { 'org' }, - }, - ensure_installed = { 'org' }, - }) - -- Setup orgmode require('orgmode').setup({ org_agenda_files = '~/orgfiles/**/*', From bc623a70d9cc4294732d7cfb4cb58985888a39f7 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Wed, 9 Apr 2025 05:21:46 +0900 Subject: [PATCH 25/42] update(nvim): modify typst-preview settings (use external tinymist, enable debug) --- dotfiles/neovim/init.lua | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index a33a0db..d0cb50b 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -282,8 +282,9 @@ require('lazy').setup({ end, config = function() require 'typst-preview'.setup { - -- Setting this true will enable printing debug information with print() - debug = false, + -- Setting this true will enable logging debug information to + -- `vim.fn.stdpath 'data' .. '/typst-preview/log.txt'` + debug = true, -- Custom format string to open the output link provided with %s -- Example: open_cmd = 'firefox %s -P typst-preview --class typst-preview' @@ -305,8 +306,8 @@ require('lazy').setup({ -- Warning: Be aware that your version might be older than the one -- required. dependencies_bin = { - ['tinymist'] = nil, - ['websocat'] = nil + ['tinymist'] = 'tinymist', + ['websocat'] = nil, }, -- A list of extra arguments (or nil) to be passed to previewer. From 9d1015a48dacb52741090fc4c7982e9f233dc1c9 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Wed, 9 Apr 2025 05:22:49 +0900 Subject: [PATCH 26/42] update(nvim): add lsp settings for nixd, nil_ls, verible, svls --- dotfiles/neovim/init.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index d0cb50b..4f487da 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -786,7 +786,8 @@ lspconfig.rust_analyzer.setup { } local lss = { "pyright", "texlab", --[[ "ccls", ]] "clangd", "ts_ls", --[["tailwindcss"]] "hls", "cmake", - "csharp_ls", "html", "r_language_server", "cssls", "jsonls", "sqls", "vhdl_ls", "ruff", "lemminx" } + "csharp_ls", "html", "r_language_server", "cssls", "jsonls", "sqls", "vhdl_ls", "ruff", "lemminx", "nixd", "nil_ls", + "verible", "svls" } for _, ls in pairs(lss) do lspconfig[ls].setup { on_attach = on_attach, From b4bf8d3ac24bfbfc6910ab66fb471746b801dbed Mon Sep 17 00:00:00 2001 From: qwjyh Date: Wed, 9 Apr 2025 05:23:31 +0900 Subject: [PATCH 27/42] update(nvim): enable inlay_hint for julials --- dotfiles/neovim/init.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index 4f487da..1827201 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -680,7 +680,10 @@ if julials_so_file then -- if sysimage doesn't exist, julials_so_file == nil end -- main lspconfig.julials.setup { - on_attach = on_attach, + on_attach = function(client, bufnr) + on_attach(client, bufnr) + vim.lsp.inlay_hint.enable(true, { bufnr = bufnr }) + end, capabilities = capabilities, cmd = { "julia", "--startup-file=no", "--history-file=no", -- julials_so_option[1], julials_so_option[2], From 650d31faec8a9ac45d78c655ff7620973c2e4353 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Wed, 9 Apr 2025 05:24:25 +0900 Subject: [PATCH 28/42] change colorscheme (catppuccin-latte to catppuccin-mocha) coming back to dark theme... --- dotfiles/bat/config | 2 +- dotfiles/neovim/init.lua | 3 ++- dotfiles/startup_linux.jl | 2 +- dotfiles/wezterm/wezterm.lua | 8 +++++--- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/dotfiles/bat/config b/dotfiles/bat/config index 7042fd2..a717d92 100644 --- a/dotfiles/bat/config +++ b/dotfiles/bat/config @@ -1,4 +1,4 @@ # use Catppuccin for bat # https://github.com/catppuccin/bat # Installation instruction on the readme ---theme="Catppuccin Latte" +--theme="Catppuccin Mocha" diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index 1827201..9113676 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -384,7 +384,8 @@ vim.keymap.set('n', 'L', 'tabn', { desc = 'tab next' }) require('catppuccin').setup({ transparent_background = true, }) -vim.cmd.colorscheme "catppuccin-latte" +vim.cmd.colorscheme "catppuccin-mocha" +-- vim.cmd.colorscheme "catppuccin-latte" ----------------------------------------------------------- vim.g.mapleader = ' ' diff --git a/dotfiles/startup_linux.jl b/dotfiles/startup_linux.jl index 9534be9..ce4427a 100644 --- a/dotfiles/startup_linux.jl +++ b/dotfiles/startup_linux.jl @@ -2,7 +2,7 @@ try using OhMyREPL enable_autocomplete_brackets(false) include("catppuccin.jl") - OhMyREPL.colorscheme!("CatppuccinLatte") + OhMyREPL.colorscheme!("CatppuccinMocha") catch e @warn "Failed to load OhMyREPL" end diff --git a/dotfiles/wezterm/wezterm.lua b/dotfiles/wezterm/wezterm.lua index c93fc86..b081795 100644 --- a/dotfiles/wezterm/wezterm.lua +++ b/dotfiles/wezterm/wezterm.lua @@ -44,11 +44,13 @@ return { -- } -- }, - -- color_scheme = "iceberg-dark", - color_scheme = "catppuccin-latte", + color_scheme = "iceberg-dark", + -- color_scheme = "catppuccin-macchiato", + -- color_scheme = "catppuccin-latte", + -- color_scheme = "Everforest Dark (Gogh)", use_fancy_tab_bar = false, tab_bar_at_bottom = true, - window_background_opacity = 0.85, + window_background_opacity = 0.90, -- font = wezterm.font 'FirgeNerd Console' font = wezterm.font_with_fallback { { From d30feea25c147d2faa7e2c502f38b6f2e74e507f Mon Sep 17 00:00:00 2001 From: qwjyh Date: Wed, 9 Apr 2025 05:31:30 +0900 Subject: [PATCH 29/42] update(nvim): add gitignored local settings for nvim config --- bin/install.ps1 | 1 + bin/install.sh | 1 + dotfiles/neovim/.gitignore | 1 + dotfiles/neovim/init.lua | 2 +- 4 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 dotfiles/neovim/.gitignore diff --git a/bin/install.ps1 b/bin/install.ps1 index be17a41..9cb8591 100644 --- a/bin/install.ps1 +++ b/bin/install.ps1 @@ -54,6 +54,7 @@ scoop import .\bin\windows\scoop_apps\scoop_minimal_apps.json New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\init.lua -Target (Resolve-Path .\dotfiles\neovim\init.lua) -Force New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\lua\lualine_setup.lua -Target (Resolve-Path .\dotfiles\neovim\lua\lualine_setup.lua) -Force New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\lua\term_powershell.lua -Target (Resolve-Path .\dotfiles\neovim\lua\term_powershell.lua) -Force +New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\lua\local_settings.lua -Target (Resolve-Path .\dotfiles\neovim\lua\local_settings.lua) -Force New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\lua\lspconfig\server_configurations\satysfi_ls.lua -Target (Resolve-Path .\dotfiles\neovim\lua\lspconfig\server_configurations\satysfi_ls.lua) -Force mkdir $env:LOCALAPPDATA\nvim\after\ftplugin New-Item -ItemType SymbolicLink -Path $env:LOCALAPPDATA\nvim\after\ftplugin\satysfi.lua -Target (Resolve-Path .\dotfiles\neovim\after\ftplugin\satysfi.lua) diff --git a/bin/install.sh b/bin/install.sh index 90626e9..2c174a5 100755 --- a/bin/install.sh +++ b/bin/install.sh @@ -26,6 +26,7 @@ mkdir -p ~/.config/nvim/lua ln -sf $(pwd)/dotfiles/neovim/lua/lualine_setup.lua ~/.config/nvim/lua/lualine_setup.lua ln -sf $(pwd)/dotfiles/neovim/lua/term_powershell.lua ~/.config/nvim/lua/term_powershell.lua ln -sf $(pwd)/dotfiles/neovim/lua/pluto_nvim.lua ~/.config/nvim/lua/pluto_nvim.lua +ln -sf $(pwd)/dotfiles/neovim/lua/local_settings.lua ~/.config/nvim/lua/local_settings.lua mkdir -p ~/.config/nvim/lua/lspconfig/server_configurations ln -sf $(pwd)/dotfiles/neovim/lua/lspconfig/server_configurations/satysfi_ls.lua ~/.config/nvim/lua/lspconfig/server_configurations/satysfi_ls.lua mkdir -p ~/.config/nvim/after/ftplugin diff --git a/dotfiles/neovim/.gitignore b/dotfiles/neovim/.gitignore new file mode 100644 index 0000000..8089223 --- /dev/null +++ b/dotfiles/neovim/.gitignore @@ -0,0 +1 @@ +lua/local_settings.lua diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index 9113676..812ae3e 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -236,7 +236,7 @@ require('lazy').setup({ config = function() -- Setup orgmode require('orgmode').setup({ - org_agenda_files = '~/orgfiles/**/*', + org_agenda_files = require("local_settings").org_agenda_files, org_default_notes_file = '~/orgfiles/refile.org', org_todo_keywords = { "TODO(t)", From 383d7e510270677f08da143e80afbdbc28ca59e3 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Wed, 16 Apr 2025 19:40:15 +0900 Subject: [PATCH 30/42] new(nvim): add config for org --- dotfiles/neovim/after/ftplugin/org.lua | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 dotfiles/neovim/after/ftplugin/org.lua diff --git a/dotfiles/neovim/after/ftplugin/org.lua b/dotfiles/neovim/after/ftplugin/org.lua new file mode 100644 index 0000000..530b84c --- /dev/null +++ b/dotfiles/neovim/after/ftplugin/org.lua @@ -0,0 +1,2 @@ +vim.o.tabstop = 2 +vim.o.shiftwidth = 2 From 820240c0ef4c5122ff3ebdfb5cf35aba92cdc166 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Wed, 16 Apr 2025 19:41:28 +0900 Subject: [PATCH 31/42] update(install.sh): org ftplugin & jetls install & fix shellcheck --- bin/install.sh | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/bin/install.sh b/bin/install.sh index 90148a5..964fe27 100755 --- a/bin/install.sh +++ b/bin/install.sh @@ -10,46 +10,49 @@ set -eu # exit 1 # fi # TODO: check git in path -cd $(git rev-parse --show-toplevel) +cd "$(git rev-parse --show-toplevel)" # ========================================================= # links # ========================================================= mkdir -p ~/.config/fish -ln -sf $(pwd)/dotfiles/fish/config.fish ~/.config/fish/config.fish -ln -sf $(pwd)/dotfiles/starship/starship.toml ~/.config/starship.toml -ln -sf $(pwd)/dotfiles/tmux.conf ~/.tmux.conf +ln -sf "$(pwd)/dotfiles/fish/config.fish" ~/.config/fish/config.fish +ln -sf "$(pwd)/dotfiles/starship/starship.toml" ~/.config/starship.toml +ln -sf "$(pwd)/dotfiles/tmux.conf" ~/.tmux.conf +# ln -s $(pwd)/dotfiles/neovim ~/.config/nvim mkdir -p ~/.config/nvim -ln -sf $(pwd)/dotfiles/neovim/init.lua ~/.config/nvim/init.lua +ln -sf "$(pwd)/dotfiles/neovim/init.lua" ~/.config/nvim/init.lua mkdir -p ~/.config/nvim/lua -ln -sf $(pwd)/dotfiles/neovim/lua/lualine_setup.lua ~/.config/nvim/lua/lualine_setup.lua -ln -sf $(pwd)/dotfiles/neovim/lua/term_powershell.lua ~/.config/nvim/lua/term_powershell.lua -ln -sf $(pwd)/dotfiles/neovim/lua/lsp_config.lua ~/.config/nvim/lua/lsp_config.lua -ln -sf $(pwd)/dotfiles/neovim/lua/pluto_nvim.lua ~/.config/nvim/lua/pluto_nvim.lua -ln -sf $(pwd)/dotfiles/neovim/lua/local_settings.lua ~/.config/nvim/lua/local_settings.lua +ln -sf "$(pwd)/dotfiles/neovim/lua/lualine_setup.lua" ~/.config/nvim/lua/lualine_setup.lua +ln -sf "$(pwd)/dotfiles/neovim/lua/term_powershell.lua" ~/.config/nvim/lua/term_powershell.lua +ln -sf "$(pwd)/dotfiles/neovim/lua/lsp_config.lua" ~/.config/nvim/lua/lsp_config.lua +ln -sf "$(pwd)/dotfiles/neovim/lua/pluto_nvim.lua" ~/.config/nvim/lua/pluto_nvim.lua +ln -sf "$(pwd)/dotfiles/neovim/lua/local_settings.lua" ~/.config/nvim/lua/local_settings.lua mkdir -p ~/.config/nvim/lua/lspconfig/server_configurations -ln -sf $(pwd)/dotfiles/neovim/lua/lspconfig/server_configurations/satysfi_ls.lua ~/.config/nvim/lua/lspconfig/server_configurations/satysfi_ls.lua +ln -sf "$(pwd)/dotfiles/neovim/lua/lspconfig/server_configurations/satysfi_ls.lua" ~/.config/nvim/lua/lspconfig/server_configurations/satysfi_ls.lua +ln -sf "$(pwd)/dotfiles/neovim/lua/lspconfig/server_configurations/jetls.lua" ~/.config/nvim/lua/lspconfig/server_configurations/jetls.lua mkdir -p ~/.config/nvim/after/ftplugin -ln -sf $(pwd)/dotfiles/neovim/after/ftplugin/satysfi.lua ~/.config/nvim/after/ftplugin/satysfi.lua -ln -sf $(pwd)/dotfiles/neovim/after/ftplugin/tex.lua ~/.config/nvim/after/ftplugin/tex.lua -ln -sf $(pwd)/dotfiles/neovim/after/ftplugin/typst.lua ~/.config/nvim/after/ftplugin/typst.lua +ln -sf "$(pwd)/dotfiles/neovim/after/ftplugin/satysfi.lua" ~/.config/nvim/after/ftplugin/satysfi.lua +ln -sf "$(pwd)/dotfiles/neovim/after/ftplugin/tex.lua" ~/.config/nvim/after/ftplugin/tex.lua +ln -sf "$(pwd)/dotfiles/neovim/after/ftplugin/typst.lua" ~/.config/nvim/after/ftplugin/typst.lua +ln -sf "$(pwd)/dotfiles/neovim/after/ftplugin/org.lua" ~/.config/nvim/after/ftplugin/org.lua mkdir -p ~/.config/nvim/after/queries/satysfi curl -o ~/.config/nvim/after/queries/satysfi/highlights.scm https://raw.githubusercontent.com/monaqa/tree-sitter-satysfi/master/queries/highlights.scm curl -o ~/.config/nvim/after/queries/satysfi/indents.scm https://raw.githubusercontent.com/monaqa/tree-sitter-satysfi/master/queries/indents.scm curl -o ~/.config/nvim/after/queries/satysfi/matchup.scm https://raw.githubusercontent.com/monaqa/tree-sitter-satysfi/master/queries/matchup.scm mkdir -p ~/.config/nvim/after/queries/julia -ln -sf $(pwd)/dotfiles/neovim/after/queries/julia/injections.scm ~/.config/nvim/after/queries/julia/injections.scm +ln -sf "$(pwd)/dotfiles/neovim/after/queries/julia/injections.scm" ~/.config/nvim/after/queries/julia/injections.scm mkdir -p ~/.config/nvim/luasnippets -ln -sf $(pwd)/dotfiles/neovim/luasnippets/all.lua ~/.config/nvim/luasnippets/all.lua +ln -sf "$(pwd)/dotfiles/neovim/luasnippets/all.lua" ~/.config/nvim/luasnippets/all.lua mkdir -p ~/.config/nvim/luasnippets/satysfi -ln -sf $(pwd)/dotfiles/neovim/luasnippets/satysfi/math.lua ~/.config/nvim/luasnippets/satysfi/math.lua +ln -sf "$(pwd)/dotfiles/neovim/luasnippets/satysfi/math.lua" ~/.config/nvim/luasnippets/satysfi/math.lua mkdir -p ~/.julia/config -ln -sf $(pwd)/dotfiles/startup_linux.jl ~/.julia/config/startup.jl +ln -sf "$(pwd)/dotfiles/startup_linux.jl" ~/.julia/config/startup.jl curl -o ~/.julia/config/catppuccin.jl https://raw.githubusercontent.com/catppuccin/ohmyrepl/refs/heads/main/catppuccin.jl mkdir -p ~/.config/lf -ln -sf $(pwd)/dotfiles/lf/lfrc ~/.config/lf/lfrc +ln -sf "$(pwd)/dotfiles/lf/lfrc" ~/.config/lf/lfrc -ln -sf $(pwd)/dotfiles/bat/config "$(bat --config-file)" +ln -sf "$(pwd)/dotfiles/bat/config" "$(bat --config-file)" From 08e7a388d8590a4cd24d80adc4442a00125e3ebe Mon Sep 17 00:00:00 2001 From: qwjyh Date: Tue, 22 Apr 2025 16:57:22 +0900 Subject: [PATCH 32/42] update(nvim): add yamlls --- dotfiles/neovim/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index 71e2517..ff1e361 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -734,7 +734,7 @@ lspconfig.rust_analyzer.setup { local lss = { "pyright", "texlab", --[[ "ccls", ]] "clangd", "ts_ls", --[["tailwindcss"]] "hls", "cmake", "csharp_ls", "html", "r_language_server", "cssls", "jsonls", "sqls", "vhdl_ls", "ruff", "lemminx", "nixd", "nil_ls", - "verible", "svls" } + "verible", "svls", "yamlls" } for _, ls in pairs(lss) do lspconfig[ls].setup { on_attach = on_attach, From 9a137c8bd248506b94a3236871d956725d0fc218 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Tue, 29 Apr 2025 16:27:55 +0900 Subject: [PATCH 33/42] update julia-sysimages --- julia-sysimages | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/julia-sysimages b/julia-sysimages index 98581ab..4661893 160000 --- a/julia-sysimages +++ b/julia-sysimages @@ -1 +1 @@ -Subproject commit 98581abe7cb2baecd63e95c337da08778fec60ae +Subproject commit 4661893b2a71e30ee13197ff4fa6291d85d1a012 From 2f81ec6035cd966bbc57a36cc0b8d629eaacf5db Mon Sep 17 00:00:00 2001 From: qwjyh Date: Tue, 29 Apr 2025 16:28:34 +0900 Subject: [PATCH 34/42] fix: sysimage for julials --- bin/neovim/add_dependencies.jl | 10 ++++------ bin/neovim/update_julials.jl | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/bin/neovim/add_dependencies.jl b/bin/neovim/add_dependencies.jl index 46c7d44..b3e39fa 100644 --- a/bin/neovim/add_dependencies.jl +++ b/bin/neovim/add_dependencies.jl @@ -11,12 +11,12 @@ Pkg.add("PackageCompiler") # add extra dependencies # these packages are manually collected -pkg_extra = ["Logging", "Sockets", "DataStructures", "Tar", "ArgTools", "Dates", "Downloads", "TOML", "JSONRPC", "SymbolServer"] +pkg_extra = ["Logging", "Sockets", "DataStructures", "Tar", "ArgTools", "Dates", "Downloads", "TOML", "JSONRPC", "SymbolServer", "CSTParser", "StaticLint", "JSON"] Pkg.add(pkg_extra) @info "added dependencies" # Extra package to be executed in precompiled code -pkg_precompiled = [] +pkg_precompiled = ["Pkg"] # save pkgs to be used for precompile functions with traced script out_path = joinpath(Pkg.project().path |> dirname, "precompile_exec_head.jl") @@ -24,10 +24,8 @@ out_path = joinpath(Pkg.project().path |> dirname, "precompile_exec_head.jl") open(out_path, "w") do io println(io, "using LanguageServer") println(io, "using " * join(pkg_extra, ", ")) - # println(io, "using " * join(pkg_precompiled, ", ")) - if Sys.iswindows() - println(io, "import FileWatching") - end + println(io, "using " * join(pkg_precompiled, ", ")) + println(io, "import FileWatching") end @info "finished writing precompile head file" diff --git a/bin/neovim/update_julials.jl b/bin/neovim/update_julials.jl index 082a2b9..77c157e 100644 --- a/bin/neovim/update_julials.jl +++ b/bin/neovim/update_julials.jl @@ -12,7 +12,7 @@ cd(project_path) do end |> join read("precompile_exec_head.jl", String) * compile_traces |> (b -> write("precompile_exec.jl", b)) @info "compiling sysimage..." - create_sysimage(["LanguageServer"], sysimage_path = "sys-ls.so", precompile_execution_file = ["precompile_exec.jl"])' + create_sysimage(["LanguageServer"], sysimage_path = "sys-ls.so", precompile_execution_file = ["precompile_exec.jl"]) @info "post precompile" run(`julia --project=. -J sys-ls.so -e 'using Pkg; Pkg.precompile()'`) end From 514ab0c8844a5613fb259753bdde8432db32c961 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Tue, 29 Apr 2025 17:13:16 +0900 Subject: [PATCH 35/42] update(qpdfview): assign Ctrl++/- for zoomIn/Out --- extra_configs/qpdfview/update_config.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/extra_configs/qpdfview/update_config.py b/extra_configs/qpdfview/update_config.py index d6593e4..85e1506 100755 --- a/extra_configs/qpdfview/update_config.py +++ b/extra_configs/qpdfview/update_config.py @@ -68,6 +68,8 @@ shortcut_config["General"]["findPrevious"] = "Ctrl+Shift+G, Shift+Return" shortcut_config["General"]["jumpToPage"] = "Ctrl+J, G" shortcut_config["General"]["nextPage"] = "Space, N" shortcut_config["General"]["previousPage"] = "Backspace, P" +shortcut_config["General"]["zoomIn"] = "Ctrl+Up, Ctrl++" +shortcut_config["General"]["zoomOut"] = "Ctrl+Down, Ctrl+-" with open(QPDFVIEW_CONFIG_SHORTCUTS, "w") as file: shortcut_config.write(file, space_around_delimiters=False) From 58a5e3b60c0935b11b55a586b4252c86912036da Mon Sep 17 00:00:00 2001 From: qwjyh Date: Fri, 30 May 2025 16:44:27 +0900 Subject: [PATCH 36/42] update: add some packages to nix profile --- nix/flake.lock | 6 +++--- nix/flake.nix | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/nix/flake.lock b/nix/flake.lock index e3a64e1..e89d268 100644 --- a/nix/flake.lock +++ b/nix/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1731139594, - "narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=", + "lastModified": 1745391562, + "narHash": "sha256-sPwcCYuiEopaafePqlG826tBhctuJsLx/mhKKM5Fmjo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2", + "rev": "8a2f738d9d1f1d986b5a4cd2fd2061a7127237d7", "type": "github" }, "original": { diff --git a/nix/flake.nix b/nix/flake.nix index b82ede3..a382c7d 100644 --- a/nix/flake.nix +++ b/nix/flake.nix @@ -16,8 +16,14 @@ nixpkgs.legacyPackages.x86_64-linux.neovim nixpkgs.legacyPackages.x86_64-linux.ripgrep nixpkgs.legacyPackages.x86_64-linux.bat + nixpkgs.legacyPackages.x86_64-linux.eza + nixpkgs.legacyPackages.x86_64-linux.zoxide + nixpkgs.legacyPackages.x86_64-linux.yazi + nixpkgs.legacyPackages.x86_64-linux.hexyl nixpkgs.legacyPackages.x86_64-linux.fzf + nixpkgs.legacyPackages.x86_64-linux.difftastic nixpkgs.legacyPackages.x86_64-linux.starship + nixpkgs.legacyPackages.x86_64-linux.lazygit nixpkgs.legacyPackages.x86_64-linux.clang-tools ]; From 6ef87fb5a647bbc4ff7700866dc9213b82e7c11e Mon Sep 17 00:00:00 2001 From: qwjyh Date: Fri, 30 May 2025 16:53:35 +0900 Subject: [PATCH 37/42] update(nvim): add svls --- dotfiles/neovim/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index 24b870f..c4b0b2a 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -715,7 +715,7 @@ lspconfig.rust_analyzer.setup { } local lss = { "pyright", "texlab", "ccls", "clangd", "ts_ls", --[["tailwindcss"]] "hls", "cmake", - "csharp_ls", "html", "r_language_server", "cssls", "jsonls", "sqls", "vhdl_ls", "ruff" } + "csharp_ls", "html", "r_language_server", "cssls", "jsonls", "sqls", "vhdl_ls", "ruff", "svls" } for _, ls in pairs(lss) do lspconfig[ls].setup { on_attach = on_attach, From acf06ff27f99ff1267da234980d760162d372169 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Mon, 16 Jun 2025 02:49:37 +0900 Subject: [PATCH 38/42] update(nvim): show diagnostic in float window on jump --- dotfiles/neovim/init.lua | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index ff1e361..9fcecba 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -360,6 +360,33 @@ vim.cmd.colorscheme "catppuccin-mocha" ----------------------------------------------------------- vim.g.mapleader = ' ' vim.g.maplocalleader = ' ' +local virt_lines_ns = vim.api.nvim_create_namespace 'on_diagnostic_jump' +--- @param diagnostic? vim.Diagnostic +--- @param bufnr integer +local function on_jump(diagnostic, bufnr) + if not diagnostic then return end + vim.diagnostic.show( + virt_lines_ns, + bufnr, + { diagnostic }, + { virtual_lines = { current_line = true }, virtual_text = false } + ) +end +-- vim.diagnostic.config({ +-- jump = { on_jump = on_jump }, +-- }) +vim.keymap.set('n', ']d', function() + vim.diagnostic.jump({ + count = 1, + float = true, + }) +end) +vim.keymap.set('n', '[d', function() + vim.diagnostic.jump({ + count = -1, + float = true, + }) +end) -- some terminalmode settings vim.keymap.set('t', 'h', 'h', { noremap = true, desc = "Exit terminal-mode and move to left window." }) From f4cd9ff3461a0a1e87f40b65013062b4de8553a8 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Wed, 18 Jun 2025 15:18:52 +0900 Subject: [PATCH 39/42] update(install.ps1): install jetls & org config --- bin/install.ps1 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bin/install.ps1 b/bin/install.ps1 index 40629db..1726980 100644 --- a/bin/install.ps1 +++ b/bin/install.ps1 @@ -57,16 +57,19 @@ New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\lua\term_powershell.l New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\lua\lsp_config.lua -Target (Resolve-Path .\dotfiles\neovim\lua\lsp_config.lua) -Force New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\lua\local_settings.lua -Target (Resolve-Path .\dotfiles\neovim\lua\local_settings.lua) -Force New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\lua\lspconfig\server_configurations\satysfi_ls.lua -Target (Resolve-Path .\dotfiles\neovim\lua\lspconfig\server_configurations\satysfi_ls.lua) -Force +New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\lua\lspconfig\server_configurations\jetls.lua -Target (Resolve-Path .\dotfiles\neovim\lua\lspconfig\server_configurations\jetls.lua) -Force mkdir $env:LOCALAPPDATA\nvim\after\ftplugin New-Item -ItemType SymbolicLink -Path $env:LOCALAPPDATA\nvim\after\ftplugin\satysfi.lua -Target (Resolve-Path .\dotfiles\neovim\after\ftplugin\satysfi.lua) New-Item -ItemType SymbolicLink -Path $env:LOCALAPPDATA\nvim\after\ftplugin\tex.lua -Target (Resolve-Path .\dotfiles\neovim\after\ftplugin\tex.lua) New-Item -ItemType SymbolicLink -Path $env:LOCALAPPDATA\nvim\after\ftplugin\typst.lua -Target (Resolve-Path .\dotfiles\neovim\after\ftplugin\typst.lua) +New-Item -ItemType SymbolicLink -Path $env:LOCALAPPDATA\nvim\after\ftplugin\org.lua -Target (Resolve-Path .\dotfiles\neovim\after\ftplugin\org.lua) mkdir $env:LOCALAPPDATA\nvim\after\queries\satysfi Invoke-WebRequest -Uri "https://raw.githubusercontent.com/monaqa/tree-sitter-satysfi/master/queries/highlights.scm" -OutFile $env:LOCALAPPDATA\nvim\after\queries\satysfi\highlights.scm Invoke-WebRequest -Uri "https://raw.githubusercontent.com/monaqa/tree-sitter-satysfi/master/queries/indents.scm" -OutFile $env:LOCALAPPDATA\nvim\after\queries\satysfi\indents.scm Invoke-WebRequest -Uri "https://raw.githubusercontent.com/monaqa/tree-sitter-satysfi/master/queries/matchup.scm" -OutFile $env:LOCALAPPDATA\nvim\after\queries\satysfi\matchup.scm mkdir $env:LOCALAPPDATA\nvim\after\queries\julia New-Item -ItemType SymbolicLink -Path $env:LOCALAPPDATA\nvim\after\queries\julia\injections.scm -Target (Resolve-Path .\dotfiles\neovim\after\queries\julia\injections.scm) + # pwsh New-Item -ItemType SymbolicLink -Path $PROFILE -Target (Resolve-Path .\dotfiles\pwsh\powershell_profile.ps1) -Force New-Item -ItemType SymbolicLink -Path ~\.config\powershell\chezmoi_completion.ps1 -Target (Resolve-Path .\dotfiles\pwsh\chezmoi_completion.ps1) -Force From fdbe00d7db2ed1837ed9949f3ff0e8c1e52fafb2 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Wed, 18 Jun 2025 15:19:13 +0900 Subject: [PATCH 40/42] update(neovim): enable exrc --- dotfiles/neovim/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index ff1e361..736cb74 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -346,6 +346,7 @@ vim.o.errorbells = true vim.opt.undofile = true -- Save undo history vim.o.completeopt = 'menuone,noselect' -- for better completion experience vim.o.termguicolors = true +vim.o.exrc = true vim.keymap.set('n', 'H', 'tabp', { desc = 'tab previous' }) vim.keymap.set('n', 'L', 'tabn', { desc = 'tab next' }) From 25512b052b5c6c9e8101ddc51854c49c89e1f069 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Wed, 18 Jun 2025 15:19:41 +0900 Subject: [PATCH 41/42] update(neovim): enable jetls sysimage --- dotfiles/neovim/init.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index 736cb74..fb1ea6c 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -635,10 +635,10 @@ lspconfig.julials.setup { end, capabilities = capabilities, cmd = { "julia", "--startup-file=no", "--history-file=no", - -- julials_so_option[1], julials_so_option[2], + julials_so_option[1], julials_so_option[2], -- use below 2 lines to collect script to be included in sysimage - -- '--trace-compile', - -- vim.env.HOME .. "/.julia/environments/nvim-lspconfig/tracecompile.jl", + '--trace-compile', + vim.env.HOME .. "/.julia/environments/nvim-lspconfig/tracecompile.jl", "-t4", "-e", [[ From c8e3606247337184782a2abee7d14f4ad75baed3 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Wed, 18 Jun 2025 15:20:02 +0900 Subject: [PATCH 42/42] update(jetls): enable debug & use beta (1.12) for JETLS --- dotfiles/neovim/init.lua | 1 + dotfiles/neovim/lua/lspconfig/server_configurations/jetls.lua | 1 + 2 files changed, 2 insertions(+) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index fb1ea6c..61b8623 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -669,6 +669,7 @@ lspconfig.julials.setup { Base.load_path_expand("@v#.#"), )) end + ENV["JULIA_DEBUG"] = "LanguageServer" @info "Running language server" VERSION pwd() project_path depot_path server = LanguageServer.LanguageServerInstance(stdin, stdout, project_path, depot_path) server.runlinter = true diff --git a/dotfiles/neovim/lua/lspconfig/server_configurations/jetls.lua b/dotfiles/neovim/lua/lspconfig/server_configurations/jetls.lua index fb6b304..c2a66d1 100644 --- a/dotfiles/neovim/lua/lspconfig/server_configurations/jetls.lua +++ b/dotfiles/neovim/lua/lspconfig/server_configurations/jetls.lua @@ -7,6 +7,7 @@ configs.jetls = { default_config = { cmd = { 'julia', + '+beta', '--project=' .. vim.env.HOME .. '/work/julia/JETLS.jl', '--startup-file=no', '--history-file=no',