diff --git a/bin/install.ps1 b/bin/install.ps1 index 40629db..be17a41 100644 --- a/bin/install.ps1 +++ b/bin/install.ps1 @@ -54,8 +54,6 @@ 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\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 90148a5..90626e9 100755 --- a/bin/install.sh +++ b/bin/install.sh @@ -25,9 +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 -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/bin/neovim/update_julials.jl b/bin/neovim/update_julials.jl index 082a2b9..cfdc4cf 100644 --- a/bin/neovim/update_julials.jl +++ b/bin/neovim/update_julials.jl @@ -1,9 +1,8 @@ #!/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 @@ -12,6 +11,7 @@ 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()'`) diff --git a/dotfiles/bat/config b/dotfiles/bat/config index a717d92..7042fd2 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 Mocha" +--theme="Catppuccin Latte" diff --git a/dotfiles/neovim/.gitignore b/dotfiles/neovim/.gitignore deleted file mode 100644 index 8089223..0000000 --- a/dotfiles/neovim/.gitignore +++ /dev/null @@ -1 +0,0 @@ -lua/local_settings.lua diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index 71e2517..1e27109 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -125,6 +125,14 @@ 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', @@ -188,7 +196,29 @@ require('lazy').setup({ -- see Julian/lean.nvim readme opts = { lsp = { - on_attach = require("lsp_config").on_attach, + 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, }, mappings = true, }, @@ -204,9 +234,18 @@ 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 = require("local_settings").org_agenda_files, + org_agenda_files = '~/orgfiles/**/*', org_default_notes_file = '~/orgfiles/refile.org', org_todo_keywords = { "TODO(t)", @@ -252,9 +291,8 @@ require('lazy').setup({ end, config = function() require 'typst-preview'.setup { - -- Setting this true will enable logging debug information to - -- `vim.fn.stdpath 'data' .. '/typst-preview/log.txt'` - debug = true, + -- Setting this true will enable printing debug information with print() + debug = false, -- Custom format string to open the output link provided with %s -- Example: open_cmd = 'firefox %s -P typst-preview --class typst-preview' @@ -276,8 +314,8 @@ require('lazy').setup({ -- Warning: Be aware that your version might be older than the one -- required. dependencies_bin = { - ['tinymist'] = 'tinymist', - ['websocat'] = nil, + ['tinymist'] = nil, + ['websocat'] = nil }, -- A list of extra arguments (or nil) to be passed to previewer. @@ -354,8 +392,7 @@ vim.keymap.set('n', 'L', 'tabn', { desc = 'tab next' }) require('catppuccin').setup({ transparent_background = true, }) -vim.cmd.colorscheme "catppuccin-mocha" --- vim.cmd.colorscheme "catppuccin-latte" +vim.cmd.colorscheme "catppuccin-latte" ----------------------------------------------------------- vim.g.mapleader = ' ' @@ -425,7 +462,7 @@ require('gitsigns').setup { ---@param mode string|string[] ---@param l string ---@param r any - ---@param opts vim.keymap.set.Opts? + ---@param opts table? local function map(mode, l, r, opts) opts = opts or {} opts.buffer = bufnr @@ -587,7 +624,30 @@ 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 = require("lsp_config").on_attach +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 -- cmp_nvim_lsp supports additional LSP completion capabilities local capabilities = require("cmp_nvim_lsp").default_capabilities() @@ -628,10 +688,7 @@ if julials_so_file then -- if sysimage doesn't exist, julials_so_file == nil end -- main lspconfig.julials.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, cmd = { "julia", "--startup-file=no", "--history-file=no", -- julials_so_option[1], julials_so_option[2], @@ -674,15 +731,6 @@ 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 { @@ -702,7 +750,17 @@ 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, @@ -733,8 +791,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" } + "csharp_ls", "html", "r_language_server", "cssls", "jsonls", "sqls", "vhdl_ls", "ruff", "lemminx" } for _, ls in pairs(lss) do lspconfig[ls].setup { on_attach = on_attach, diff --git a/dotfiles/neovim/lua/lsp_config.lua b/dotfiles/neovim/lua/lsp_config.lua deleted file mode 100644 index 1f714f1..0000000 --- a/dotfiles/neovim/lua/lsp_config.lua +++ /dev/null @@ -1,37 +0,0 @@ -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 diff --git a/dotfiles/neovim/lua/lspconfig/server_configurations/jetls.lua b/dotfiles/neovim/lua/lspconfig/server_configurations/jetls.lua deleted file mode 100644 index fb6b304..0000000 --- a/dotfiles/neovim/lua/lspconfig/server_configurations/jetls.lua +++ /dev/null @@ -1,36 +0,0 @@ -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 - ]], - }, -} diff --git a/dotfiles/pwsh/powershell_profile.ps1 b/dotfiles/pwsh/powershell_profile.ps1 index fa8f8ae..096a09a 100644 --- a/dotfiles/pwsh/powershell_profile.ps1 +++ b/dotfiles/pwsh/powershell_profile.ps1 @@ -164,8 +164,6 @@ $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" # ============================================================== diff --git a/dotfiles/startup_linux.jl b/dotfiles/startup_linux.jl index ce4427a..9534be9 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!("CatppuccinMocha") + OhMyREPL.colorscheme!("CatppuccinLatte") catch e @warn "Failed to load OhMyREPL" end diff --git a/dotfiles/wezterm/wezterm.lua b/dotfiles/wezterm/wezterm.lua index b081795..c93fc86 100644 --- a/dotfiles/wezterm/wezterm.lua +++ b/dotfiles/wezterm/wezterm.lua @@ -44,13 +44,11 @@ return { -- } -- }, - color_scheme = "iceberg-dark", - -- color_scheme = "catppuccin-macchiato", - -- color_scheme = "catppuccin-latte", - -- color_scheme = "Everforest Dark (Gogh)", + -- color_scheme = "iceberg-dark", + color_scheme = "catppuccin-latte", use_fancy_tab_bar = false, tab_bar_at_bottom = true, - window_background_opacity = 0.90, + window_background_opacity = 0.85, -- font = wezterm.font 'FirgeNerd Console' font = wezterm.font_with_fallback { { diff --git a/extra_configs/xremap_config.yml b/extra_configs/xremap_config.yml index 15ba982..db85d9e 100644 --- a/extra_configs/xremap_config.yml +++ b/extra_configs/xremap_config.yml @@ -16,9 +16,6 @@ modmap: Win_L: held: Win_L alone: Key_Chat - - name: left shift - remap: - Capslock: shift_l keymap: - name: ZenkakuHankaku to Esc remap: