Compare commits
19 commits
c9026eb842
...
8be02e7554
Author | SHA1 | Date | |
---|---|---|---|
8be02e7554 | |||
d30feea25c | |||
650d31faec | |||
b4bf8d3ac2 | |||
9d1015a48d | |||
bc623a70d9 | |||
0e68dd3650 | |||
|
fe1f4d22e4 | ||
|
7291b582ea | ||
88aabfd88f | |||
42d3439dbe | |||
dc3cfa6035 | |||
eb60fcf0b6 | |||
5f6e107b41 | |||
47b4fc83bc | |||
8bf5f0adcf | |||
279da20b97 | |||
54a9cdfca2 | |||
81e57446de |
12 changed files with 118 additions and 90 deletions
|
@ -54,6 +54,8 @@ 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)
|
||||
|
|
|
@ -25,7 +25,9 @@ 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
|
||||
|
|
|
@ -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()'`)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# use Catppuccin for bat
|
||||
# https://github.com/catppuccin/bat
|
||||
# Installation instruction on the readme
|
||||
--theme="Catppuccin Latte"
|
||||
--theme="Catppuccin Mocha"
|
||||
|
|
1
dotfiles/neovim/.gitignore
vendored
Normal file
1
dotfiles/neovim/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
lua/local_settings.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',
|
||||
|
@ -196,29 +188,7 @@ require('lazy').setup({
|
|||
-- see Julian/lean.nvim readme
|
||||
opts = {
|
||||
lsp = {
|
||||
on_attach = function(client, bufnr)
|
||||
-- Enable completion triggered by <c-x><c-o>
|
||||
--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', '<C-k>', vim.lsp.buf.signature_help, bufopts)
|
||||
vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, bufopts)
|
||||
vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, bufopts)
|
||||
vim.keymap.set('n', '<space>wl', function()
|
||||
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||
end, bufopts)
|
||||
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts)
|
||||
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts)
|
||||
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts)
|
||||
vim.keymap.set('n', 'grf', vim.lsp.buf.references, bufopts)
|
||||
vim.keymap.set('n', '<space>f', function() vim.lsp.buf.format { async = true } end, bufopts)
|
||||
end,
|
||||
on_attach = require("lsp_config").on_attach,
|
||||
},
|
||||
mappings = true,
|
||||
},
|
||||
|
@ -234,18 +204,9 @@ 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/**/*',
|
||||
org_agenda_files = require("local_settings").org_agenda_files,
|
||||
org_default_notes_file = '~/orgfiles/refile.org',
|
||||
org_todo_keywords = {
|
||||
"TODO(t)",
|
||||
|
@ -291,8 +252,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'
|
||||
|
@ -314,8 +276,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.
|
||||
|
@ -392,7 +354,8 @@ vim.keymap.set('n', 'L', '<cmd>tabn<cr>', { 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 = ' '
|
||||
|
@ -462,7 +425,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
|
||||
|
@ -624,30 +587,7 @@ vim.keymap.set('n', '<space>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 <c-x><c-o>
|
||||
--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', '<C-k>', vim.lsp.buf.signature_help, bufopts)
|
||||
vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, bufopts)
|
||||
vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, bufopts)
|
||||
vim.keymap.set('n', '<space>wl', function()
|
||||
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||
end, bufopts)
|
||||
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts)
|
||||
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts)
|
||||
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts)
|
||||
vim.keymap.set('n', 'grf', vim.lsp.buf.references, bufopts)
|
||||
vim.keymap.set('n', '<space>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()
|
||||
|
@ -688,7 +628,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],
|
||||
|
@ -731,6 +674,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 {
|
||||
|
@ -750,17 +702,7 @@ 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,
|
||||
|
@ -791,7 +733,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,
|
||||
|
|
37
dotfiles/neovim/lua/lsp_config.lua
Normal file
37
dotfiles/neovim/lua/lsp_config.lua
Normal file
|
@ -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 <c-x><c-o>
|
||||
--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', '<C-k>', vim.lsp.buf.signature_help, with_desc(bufopts, "lsp signature help"))
|
||||
vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, with_desc(bufopts, "lsp add_workspace_folder"))
|
||||
vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder,
|
||||
with_desc(bufopts, "lsp remove_workspace_folder"))
|
||||
vim.keymap.set('n', '<space>wl', function()
|
||||
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||
end, with_desc(bufopts, "lsp list_workspace_folders"))
|
||||
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, with_desc(bufopts, "lsp type definition"))
|
||||
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, with_desc(bufopts, "lsp rename"))
|
||||
vim.keymap.set('n', '<space>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', '<space>f', function() vim.lsp.buf.format { async = true } end, with_desc(bufopts, "lsp format"))
|
||||
end
|
||||
|
||||
return M
|
|
@ -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
|
||||
]],
|
||||
},
|
||||
}
|
|
@ -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"
|
||||
|
||||
|
||||
# ==============================================================
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 {
|
||||
{
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue