Compare commits

...

19 commits

Author SHA1 Message Date
8be02e7554 Merge branch 'main' of github.com:qwjyh/dotfiles 2025-04-09 05:34:09 +09:00
d30feea25c update(nvim): add gitignored local settings for nvim config 2025-04-09 05:31:30 +09:00
650d31faec change colorscheme (catppuccin-latte to catppuccin-mocha)
coming back to dark theme...
2025-04-09 05:24:25 +09:00
b4bf8d3ac2 update(nvim): enable inlay_hint for julials 2025-04-09 05:23:31 +09:00
9d1015a48d update(nvim): add lsp settings for nixd, nil_ls, verible, svls 2025-04-09 05:22:49 +09:00
bc623a70d9 update(nvim): modify typst-preview settings
(use external tinymist, enable debug)
2025-04-09 05:21:46 +09:00
0e68dd3650 refactor(nvim): remove treesitter setup from orgmode setup
it is no longer in the example (maybe conflicted?)
2025-04-09 05:20:51 +09:00
qwjyh
fe1f4d22e4
Merge pull request #33 from qwjyh/refactor-nvim-config
Refactor nvim config
2025-04-05 16:05:32 +09:00
qwjyh
7291b582ea
Merge branch 'main' into refactor-nvim-config 2025-04-05 16:05:06 +09:00
88aabfd88f new(nvim): add JETLS config
https://github.com/aviatesk/JETLS.jl
2025-03-25 16:21:27 +09:00
42d3439dbe new(xremap): map Capslock to shift_l since my laptop's shift_l is broken 2025-03-25 16:20:14 +09:00
dc3cfa6035 update(nvim): remove typst_lsp 2025-03-25 16:19:36 +09:00
eb60fcf0b6 update(nvim): update keyremap func annot 2025-03-18 02:51:14 +09:00
5f6e107b41 refactor(nvim): separate lsp on_attach func to module
to share the same config between general lspconfig & lean config
2025-03-14 04:34:52 +09:00
47b4fc83bc remove unnecessary lines (unused lspconfig) 2025-03-04 23:29:16 +09:00
8bf5f0adcf update: fix treesitter config in orgmode setup 2025-03-03 21:32:32 +09:00
279da20b97 remove duplicated config 2025-03-03 21:31:35 +09:00
54a9cdfca2 new(pwsh): add YAZI_FILE_ONE env var to detect file 2025-03-03 16:21:56 +09:00
81e57446de fix(julials): write using at the top level 2025-03-03 16:19:46 +09:00
12 changed files with 118 additions and 90 deletions

View file

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

View file

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

View file

@ -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()'`)

View file

@ -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
View file

@ -0,0 +1 @@
lua/local_settings.lua

View file

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

View 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

View file

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

View file

@ -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"
# ==============================================================

View file

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

View file

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

View file

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