diff --git a/bin/neovim/add_dependencies.jl b/bin/neovim/add_dependencies.jl index 46c7d44..f4560c5 100644 --- a/bin/neovim/add_dependencies.jl +++ b/bin/neovim/add_dependencies.jl @@ -6,25 +6,24 @@ using Pkg # add LanguageServer.jl Pkg.add("LanguageServer") -# add PackageCompiler.jl -Pkg.add("PackageCompiler") +# 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 extra dependencies # these packages are manually collected -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 = [] +pkg_extra = ["Logging", "Sockets", "DataStructures", "Tar", "ArgTools", "Dates", "Downloads", "TOML"] +foreach(Pkg.add, pkg_extra) +@info "dependency added" # 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/setup_julials.jl b/bin/neovim/setup_julials.jl index dbd44f3..f6107bd 100644 --- a/bin/neovim/setup_julials.jl +++ b/bin/neovim/setup_julials.jl @@ -5,8 +5,7 @@ if !ispath(project_path) @info "Created $(project_path)" touch(joinpath(project_path, "tracecompile.jl")) end - -using Pkg -Pkg.activate(project_path) -include("$(@__DIR__)/add_dependencies.jl") +cmd = `julia --project=$(project_path) $(@__DIR__)/add_dependencies.jl` +@info cmd +run(cmd) diff --git a/bin/neovim/update_julials.jl b/bin/neovim/update_julials.jl index cfdc4cf..713c00b 100644 --- a/bin/neovim/update_julials.jl +++ b/bin/neovim/update_julials.jl @@ -2,17 +2,14 @@ project_path = joinpath(homedir(), ".julia", "environments", "nvim-lspconfig") cd(project_path) do @info "now at " pwd() - using Pkg - Pkg.activate(".") - Pkg.update() + 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..." - using PackageCompiler; - create_sysimage(["LanguageServer"], sysimage_path = "sys-ls.so", precompile_execution_file = ["precompile_exec.jl"])' + 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/fish/config.fish b/dotfiles/fish/config.fish index f549acb..37148a4 100644 --- a/dotfiles/fish/config.fish +++ b/dotfiles/fish/config.fish @@ -24,25 +24,6 @@ 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 diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index 1e27109..e4f7b46 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -114,9 +114,6 @@ require('lazy').setup({ build = ":TSUpdate", dependencies = { "nvim-treesitter/nvim-treesitter-textobjects", - { - "nvim-treesitter/nvim-treesitter-context" - } }, }, { @@ -498,7 +495,6 @@ 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" }) @@ -633,7 +629,6 @@ 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) @@ -691,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", @@ -766,28 +761,18 @@ lspconfig.tinymist.setup { on_attach = on_attach, capabilities = capabilities, single_file_support = true, - -- offset_encoding = "utf-8", - settings = { - formatterMode = "typstyle", - }, } lspconfig.rust_analyzer.setup { - on_attach = function(client, bufnr) - on_attach(client, bufnr) - vim.lsp.inlay_hint.enable(true, { bufnr = bufnr }) - end, + on_attach = on_attach, capabilities = capabilities, settings = { ['rust-analyzer'] = { - cargo = { - features = "all", - }, check = { command = "clippy", - }, - }, - }, + } + } + } } local lss = { "pyright", "texlab", --[[ "ccls", ]] "clangd", "ts_ls", --[["tailwindcss"]] "hls", "cmake", diff --git a/dotfiles/pwsh/powershell_profile.ps1 b/dotfiles/pwsh/powershell_profile.ps1 index 096a09a..b9e0ae5 100644 --- a/dotfiles/pwsh/powershell_profile.ps1 +++ b/dotfiles/pwsh/powershell_profile.ps1 @@ -139,7 +139,7 @@ function Enable-SshAgent { .OUTPUTS no outputs #> - sudo run pwsh -c "Set-Service -Name ssh-agent -StartupType Manual && Start-Service ssh-agent" + sudo Set-Service -Name ssh-agent -StartupType Manual && Start-Service ssh-agent } # auto start ssh-agent and do ssh-add function Invoke-SshAdd {