Compare commits

...

43 commits

Author SHA1 Message Date
e41c8d5f3a fix(neovim): remove deprecated key bindings([d and ]d is now default)
ref: https://neovim.io/doc/user/deprecated.html#_diagnostics
[d and ]d is now included in default keymap
2025-01-19 00:42:03 +09:00
44be709356 update(nvim): add lemminx lsp config 2025-01-15 20:06:59 +09:00
testuser
3aa560a502 update(wezterm): use regular weight for font 2024-12-03 16:17:05 +09:00
5c0a268fe0 update(nvim): add keymaps for telescope lsp utilities
- outgoing/incoming calls
- references
2024-11-15 20:54:25 +09:00
3a6eda6c77 change(colorscheme): use catppuccin latte (light theme) 2024-11-15 20:53:54 +09:00
c10ff130ce new(bat): add config & install script for linux 2024-11-15 20:35:05 +09:00
297445343d new(nvim): add typst-preview.nvim
with customization to modify --root for typst
2024-11-15 20:33:56 +09:00
c67a385937 new(nix): Experimental nix config 2024-10-31 21:18:57 +09:00
df46ec7453 new(lf): config installation for linux 2024-10-28 22:12:42 +09:00
2a7d1d80c0 new(lf): lfrc 2024-10-28 17:20:55 +09:00
1f600a970a fix(julials): import FileWatching on Windows 2024-10-26 02:53:56 +09:00
f5efb7cb66 refactor(julials): update docs & remove unused shell scripts 2024-10-22 18:27:36 +09:00
ad4a9f53a1 fix(julials): fix sysimage update (remove func calls for printstyled in
tracecompile)
2024-10-22 18:15:48 +09:00
616a13b1b0 update: julia-sysimages 2024-10-11 14:27:24 +09:00
3ea290ea58 fix(nvim): replace tsserver -> ts_ls since it's deprecated
- according to lspconfig
2024-10-11 14:26:47 +09:00
d8158947e5 update(nvim): update satysfi_ls config and its loading 2024-10-11 14:26:09 +09:00
49321cb4ff fix(xremap): config for M750(remove keymap for side buttons) 2024-10-11 12:04:33 +09:00
2b0329474c update(nvim): update julials dependency(add TOML) 2024-10-11 12:03:23 +09:00
686a6f1332 fix(neovim install): install ftplugin for typst 2024-10-11 12:00:19 +09:00
7efd53759a (WIP) new: nvim: tree-sitter injection for julia sql string 2024-10-02 19:15:34 +09:00
386410bc6c new: xremap: add mouse config 2024-08-05 22:33:33 +02:00
603c10544b update: nvim: replace ruff lsp with ruff 2024-07-31 14:09:31 +09:00
b560911ad4 nvim: change: use 4 threads for julials 2024-07-09 00:29:41 +09:00
64ce6479cb nvim: add: hlchunk & update dependency path 2024-07-09 00:29:19 +09:00
438823541a wezterm: update: font family regarding juisee update v0.2.0 2024-06-26 00:13:12 +09:00
fef6bc9836 pdfview: fix: bug which overrides shortcut config
* wrong variable name
2024-06-25 21:25:24 +09:00
7b0e53318d qpdfview: update: Add G as jump shortcut 2024-06-25 21:10:20 +09:00
d104726b73 update: julials: automatically create tracecompile.jl file at setup 2024-06-25 19:37:11 +09:00
6fb7a8f544 update README 2024-06-25 19:36:59 +09:00
ca78c94e71 qpdfview: update configs 2024-06-25 19:20:08 +09:00
ceef4b03b0 qpdfview: fix: check file existence before operation 2024-06-25 19:19:33 +09:00
a7be3b1f49 tmux: update: reduce cache size 2024-06-25 13:18:12 +09:00
bb5a54144a nvim: update: [org] use uuid & add Journal capture template 2024-06-25 13:16:49 +09:00
ae5a5a502f nvim: update: org config 2024-06-24 21:53:46 +09:00
a26aa2cd02 nvim: update: use tinymist instead of typst-lsp 2024-06-24 18:15:24 +09:00
0d16da2b31 nvim: fix: replace deprecated function 2024-06-18 20:34:54 +09:00
372040d1d7 nvim: update: setting up trouble.nvim v3
- just using default configs
2024-06-18 20:34:25 +09:00
4fefdd20b2 nvim: update: lazy installation for nvim 0.10 2024-06-18 19:49:36 +09:00
955fd55ff0 fish: new: add qpdfview abbr 2024-06-18 19:49:16 +09:00
26a0008b64 new: add qpdfview config 2024-06-06 23:42:08 +09:00
6490787142 nvim: add support for powershell_es on linux 2024-05-01 18:32:06 +09:00
aeae66bbf4 Merge branch 'main' of github.com:qwjyh/dotfiles 2024-04-17 11:49:06 +09:00
0340b930ea update: nvim: remove auto appended setup script by PDM 2024-04-15 18:00:06 +09:00
25 changed files with 431 additions and 81 deletions

View file

@ -7,16 +7,18 @@ my dotfiles
- AHK macro
- wezterm
- etc
- Ubuntu 20.04 on WSL
- fish
- Arch/Manjaro
- Arch
- fish
- tmux
- neovim
- keyboard config(xremap)
- wezterm
- Ubuntu 22.04 on WSL
- fish
- Termux
## extra
- qpdfview
- okular
# Installing
@ -29,11 +31,20 @@ my dotfiles
6. run `bin/install.ps1`
### note
* manual install lean
* manually install lean
## Linux
1. install fish
2. run install.sh
1. run install.sh
# Neovim
## Julia
### Initial setup
- `./bin/neovim/setup_julials.jl` to set up environment with LanguageServer.jl
<!-- - Edit `init.lua` not to use sysimage and edit some julia code -->
- `./bin/neovim/update_julials.jl` to generate sysimage for faster startup time
Edit `init.lua` to change arguments for julials.
# TODO
- Iron.nvim doesn't work for julia on Windows

View file

@ -58,6 +58,7 @@ New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\lua\lspconfig\server_
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)
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
@ -76,4 +77,7 @@ New-Item -ItemType SymbolicLink -Path ~\.config\wezterm\wezterm.lua -Target (Res
# julia
mkdir ~\.config\julia\config
New-Item -ItemType SymbolicLink -Path ~\.julia\config\startup.jl -Target (Resolve-Path .\dotfiles\startup_windows.jl) -Force
# lf
mkdir $env:LOCALAPPDATA\lf
New-Item -ItemType SymbolicLink -Path $env:LOCALAPPDATA\lf\lfrc -Target (Resolve-Path .\dotfiles\lf\lfrc) -Force

View file

@ -31,6 +31,7 @@ ln -sf $(pwd)/dotfiles/neovim/lua/lspconfig/server_configurations/satysfi_ls.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
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
@ -44,3 +45,8 @@ ln -sf $(pwd)/dotfiles/neovim/luasnippets/satysfi/math.lua ~/.config/nvim/luasni
mkdir -p ~/.julia/config
ln -sf $(pwd)/dotfiles/startup_linux.jl ~/.julia/config/startup.jl
mkdir -p ~/.config/lf
ln -sf $(pwd)/dotfiles/lf/lfrc ~/.config/lf/lfrc
ln -sf $(pwd)/dotfiles/bat/config "$(bat --config-file)"

View file

@ -13,7 +13,7 @@ foreach(Pkg.add, pkg_ls_deps)
# add extra dependencies
# these packages are manually collected
pkg_extra = ["Logging", "Sockets", "DataStructures", "Tar", "ArgTools", "Dates", "Downloads"]
pkg_extra = ["Logging", "Sockets", "DataStructures", "Tar", "ArgTools", "Dates", "Downloads", "TOML"]
foreach(Pkg.add, pkg_extra)
@info "dependency added"
@ -24,6 +24,9 @@ open(out_path, "w") do io
println(io, "using LanguageServer")
println(io, "using " * join(pkg_ls_deps, ", "))
println(io, "using " * join(pkg_extra, ", "))
if Sys.iswindows()
println(io, "import FileWatching")
end
end
@info "finished writing precompile head file"

View file

@ -1,27 +1,24 @@
# How to manage Julia Language Server
This config use sysimage built with PackageCompiler to make language server startup faster.
Scripts in this directory is for management of sysimage.
This config use sysimage built with PackageCompiler to make language server starts faster.
Scripts in this directory are for management of the sysimage.
# description
all related process is done in project at `~/.julia/environments/nvim-lspconfig/`.
## startup
## install (or minor update of Julia)
```sh
$ ./setup_julials.sh
julia ./setup_julials.jl
```
which executes `add_dependencies.jl` internally.
Run Language Server with `--tracecompile` option from any editor.
## update
```sh
$ ./update_julials.sh
julia ./update_julials.sh
```
which updates project, compile sysimage, then do precompile.
To use the sysimage, run Language Server with `-J ~/.julia/environments/nvim-lspconfig/` option.
# effect
Start up got about x3 - x4 faster.
It still takes some time to load packages though.
# TODO
- [ ] Not sure all necessary packages are listed in add_dependencies.jl
- [ ] Maybe it's better to set up different sysimages for each projects

View file

@ -1,14 +1,9 @@
#!/usr/bin/julia
project_path = joinpath(homedir(), ".julia", "environments", "nvim-lspconfig")
if !ispath(project_path)
try
mkdir(project_path)
@info "Created $(project_path)"
catch e
@error e
@error dump(e)
throw(e)
end
touch(joinpath(project_path, "tracecompile.jl"))
end
cmd = `julia --project=$(project_path) $(@__DIR__)/add_dependencies.jl`
@info cmd

View file

@ -1,2 +0,0 @@
#!/usr/bin/bash -x
julia --project=~/.julia/environments/nvim-lspconfig ./add_dependencies.jl

View file

@ -1,14 +1,16 @@
#!/usr/bin/julia
project_path = joinpath(homedir(), ".julia", "environments", "nvim-lspconfig")
cd(project_path)
@info "now at " pwd()
run(`julia --project=. -e 'using Pkg; Pkg.update()'`)
compile_traces = Iterators.filter(eachline("tracecompile.jl")) do line
!startswith(line, '#') && !occursin(r"\#\d+\#\d+", 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()'`)
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()'`)
end

View file

@ -1,7 +0,0 @@
#!/usr/bin/bash -x
cd ~/.julia/environments/nvim-lspconfig/ || return 1
julia --project=. -e 'using Pkg; Pkg.update()'
cat precompile_exec_head.jl tracecompile.jl > precompile_exec.jl
julia --project=. -e 'using PackageCompiler; create_sysimage(["LanguageServer"], sysimage_path="sys-ls.so", precompile_execution_file=["precompile_exec.jl"])'
julia --project=. -J sys-ls.so -e 'using Pkg; Pkg.precompile()'

4
dotfiles/bat/config Normal file
View file

@ -0,0 +1,4 @@
# use Catppuccin for bat
# https://github.com/catppuccin/bat
# Installation instruction on the readme
--theme="Catppuccin Latte"

View file

@ -18,6 +18,7 @@ if status is-interactive
# abbr (from 3.6, --universal is removed)
abbr -a -- l less
abbr -a -- ll 'eza -la --icons --git'
abbr -a -- qpv 'qpdfview --unique'
zoxide init fish | source

23
dotfiles/lf/lfrc Normal file
View file

@ -0,0 +1,23 @@
cmap <tab> cmd-menu-complete
cmap <backtab> 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\""
#}}

View file

@ -5,3 +5,42 @@
(#eq? @_prefix "md")
(#set! injection.language "markdown")
(#offset! @injection.content 0 2 0 -1))
; ((prefixed_string_literal
; prefix: (identifier) @_prefix) @injection.content
; (#eq? @_prefix "sql")
; (#set! injection.language "sql")
; (#offset! @injection.content 0 4 0 -1))
;
; ((prefixed_string_literal
; prefix: (identifier) @_prefix) @injection.content
; (#eq? @_prefix "s")
; (#set! injection.language "sql")
; (#offset! @injection.content 0 3 0 -1))
;
; ((prefixed_string_literal
; prefix: (identifier) @_prefix) @injection.content
; (#eq? @_prefix "t")
; (#set! injection.language "regex")
; (#offset! @injection.content 0 2 0 -1))
;
; ((prefixed_string_literal
; prefix: (identifier) @_prefix) @injection.content
; (#eq? @_prefix "ts")
; (#set! injection.language "regex")
; (#offset! @injection.content 0 2 0 -1))
;
; ((prefixed_string_literal
; prefix: (identifier) @_prefix) @injection.content
; (#eq? @_prefix "tu")
; (#set! injection.language "regex")
; (#offset! @injection.content 0 3 0 -1))
;
; ((prefixed_string_literal
; prefix: (identifier) @_prefix) @injection.content
; (#eq? @_prefix "sql")
; ; (#offset! @injection.content 0 2 0 -1)
; ; (#offset! @injection.content 0 6 0 -3)
; (#gsub! @injection.content "^\"%\"" "%1")
; (#set! injection.language "sql")
; )

View file

@ -1,7 +1,7 @@
-----------------------------------------------------------
-- Installing plugin manager 'lazy.nvim'
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
if not (vim.uv or vim.loop).fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
@ -56,7 +56,21 @@ require('lazy').setup({
},
{ -- lualine(statusline)
'nvim-lualine/lualine.nvim',
dependencies = { 'kyazdani42/nvim-web-devicons', lazy = true }
dependencies = { 'nvim-tree/nvim-web-devicons', lazy = true }
},
{
'shellRaining/hlchunk.nvim',
event = { "BufReadPre", "BufNewFile" },
config = function()
require('hlchunk').setup {
chunk = {
enable = true,
},
line_num = {
enable = true,
},
}
end
},
{
'lervag/vimtex',
@ -131,7 +145,40 @@ require('lazy').setup({
},
{
'folke/trouble.nvim',
-- config = function
opts = {},
cmd = "Trouble",
keys = {
{
"<space>xx",
"<cmd>Trouble diagnostics toggle<cr>",
desc = "Diagnostics (Trouble)",
},
{
"<space>xX",
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
desc = "Buffer Diagnostics (Trouble)",
},
{
"<space>cs",
"<cmd>Trouble symbols toggle focus=false<cr>",
desc = "Symbols (Trouble)",
},
{
"<space>cl",
"<cmd>Trouble lsp toggle focus=false win.position=bottom<cr>",
desc = "LSP Definitions / references / ... (Trouble)",
},
{
"<space>xL",
"<cmd>Trouble loclist toggle<cr>",
desc = "Location List (Trouble)",
},
{
"<space>xQ",
"<cmd>Trouble qflist toggle<cr>",
desc = "Quickfix List (Trouble)",
},
},
},
{
'Julian/lean.nvim',
@ -197,9 +244,100 @@ require('lazy').setup({
require('orgmode').setup({
org_agenda_files = '~/orgfiles/**/*',
org_default_notes_file = '~/orgfiles/refile.org',
org_todo_keywords = {
"TODO(t)",
"PLAN(p)",
"NEXT(n)",
"|",
"DONE(d)",
"CANCELED(c)",
},
org_todo_keyword_faces = {
-- TODO = ":foreground red",
PLAN = ":foreground #F0BB61",
NEXT = ":background #663333 :foreground #E0A0A0",
CANCELED = ":foreground #99AA99",
},
org_archive_location = '~/orgfiles/archives/%s_archive::',
org_adapt_indentation = false,
org_id_link_to_org_use_id = true,
org_capture_templates = {
t = {
description = "Task",
template = '* TODO %?\n%u'
},
l = {
description = "Log",
template = '* %?\n%U'
},
j = {
description = "Journal",
template = '* %?\n%U',
target = '~/orgfiles/journal.org',
},
},
})
end,
},
{
'chomosuke/typst-preview.nvim',
ft = 'typst',
version = 'v1.*',
build = function()
require 'typst-preview'.update()
end,
config = function()
require 'typst-preview'.setup {
-- 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'
open_cmd = nil,
-- Setting this to 'always' will invert black and white in the preview
-- Setting this to 'auto' will invert depending if the browser has enable
-- dark mode
-- Setting this to '{"rest": "<option>","image": "<option>"}' will apply
-- your choice of color inversion to images and everything else
-- separately.
invert_colors = 'never',
-- Whether the preview will follow the cursor in the source file
follow_cursor = true,
-- Provide the path to binaries for dependencies.
-- Setting this will skip the download of the binary by the plugin.
-- Warning: Be aware that your version might be older than the one
-- required.
dependencies_bin = {
['tinymist'] = nil,
['websocat'] = nil
},
-- A list of extra arguments (or nil) to be passed to previewer.
-- For example, extra_args = { "--input=ver=draft", "--ignore-system-fonts" }
extra_args = nil,
-- This function will be called to determine the root of the typst project
get_root = function(path_of_main_file)
-- Use root of git repository as a --root for typst
local rootpath = vim.fs.root(path_of_main_file, '.git')
if rootpath then
return rootpath
else
return vim.fn.fnamemodify(path_of_main_file, ':p:h')
end
end,
-- This function will be called to determine the main file of the typst
-- project.
get_main_file = function(path_of_buffer)
return path_of_buffer
end,
}
end
},
})
-----------------------------------------------------------
@ -251,7 +389,7 @@ vim.keymap.set('n', 'L', '<cmd>tabn<cr>', { desc = 'tab next' })
require('catppuccin').setup({
transparent_background = true,
})
vim.cmd.colorscheme "catppuccin"
vim.cmd.colorscheme "catppuccin-latte"
-----------------------------------------------------------
vim.g.mapleader = ' '
@ -352,6 +490,9 @@ local builtin = require('telescope.builtin')
vim.keymap.set('n', '<leader>ff', function() builtin.find_files { sort_lastused = true } end, { desc = "find files" })
vim.keymap.set('n', '<leader>fw', builtin.lsp_workspace_symbols, { desc = "lsp workspace symbols" })
vim.keymap.set('n', '<leader>fd', builtin.lsp_document_symbols, { desc = "lsp document symbols" })
vim.keymap.set('n', '<leader>flr', builtin.lsp_references, { desc = "lsp references for word" })
vim.keymap.set('n', '<leader>fli', builtin.lsp_incoming_calls, { desc = "lsp incoming calls" })
vim.keymap.set('n', '<leader>flo', builtin.lsp_outgoing_calls, { desc = "lsp outgoing calls" })
vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = "buffers" })
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = "grep" })
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = "help tags" })
@ -474,8 +615,6 @@ local lspconfig = require 'lspconfig'
-- See `:help vim.diagnostic.* for documentation on any of the below functions
local opts = { noremap = true, silent = true }
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, opts)
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts)
-- Use an on_attach function to only map the following keys
@ -550,6 +689,7 @@ lspconfig.julials.setup {
-- use below 2 lines to collect script to be included in sysimage
-- '--trace-compile',
-- vim.env.HOME .. "/.julia/environments/nvim-lspconfig/tracecompile.jl",
"-t4",
"-e",
[[
# Load LanguageServer.jl: attempt to load from ~/.julia/environments/nvim-lspconfig
@ -586,6 +726,7 @@ lspconfig.julials.setup {
]] }
}
-- SATySFi
require 'lspconfig.server_configurations.satysfi_ls'
lspconfig.satysfi_ls.setup {
on_attach = on_attach,
capabilities = capabilities,
@ -597,8 +738,10 @@ lspconfig.bashls.setup {
capabilities = capabilities,
}
-- pwsh
local win_pwsh_es_path = '~/scoop/apps/powershell-editorservice/current'
local arch_pwsh_es_path = "/opt/powershell-editor-services/"
lspconfig.powershell_es.setup {
bundle_path = '~/scoop/apps/powershell-editorservice/current',
bundle_path = vim.fn.has('win32') == 1 and win_pwsh_es_path or arch_pwsh_es_path,
capabilities = capabilities,
}
-- ccls
@ -607,7 +750,13 @@ lspconfig.powershell_es.setup {
-- cmd = {'omnisharp'},
-- }
lspconfig.typst_lsp.setup {
-- lspconfig.typst_lsp.setup {
-- on_attach = on_attach,
-- capabilities = capabilities,
-- single_file_support = true,
-- }
lspconfig.tinymist.setup {
on_attach = on_attach,
capabilities = capabilities,
single_file_support = true,
@ -625,8 +774,8 @@ lspconfig.rust_analyzer.setup {
}
}
local lss = { "pyright", "texlab", "ccls", "clangd", "tsserver", --[["tailwindcss"]] "hls", "cmake",
"csharp_ls", "html", "r_language_server", "ruff_lsp", "cssls", "jsonls", "sqls" }
local lss = { "pyright", "texlab", --[[ "ccls", ]] "clangd", "ts_ls", --[["tailwindcss"]] "hls", "cmake",
"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,

View file

@ -1,11 +1,11 @@
-- https://zenn.dev/monaqa/articles/2021-12-10-satysfi-language-server
local util = require 'lspconfig.util'
local configs = require 'lspconfig.configs'
return {
configs.satysfi_ls = {
default_config = {
cmd = { 'satysfi-language-server' },
filetypes = { 'satysfi' },
root_dir = util.root_pattern('.git'),
root_dir = vim.fs.root(0, ".git"),
single_file_support = true,
},
docs = {
@ -18,4 +18,3 @@ return {
},
},
}

View file

@ -1,7 +1,7 @@
-- https://qiita.com/uhooi/items/99aeff822d4870a8e269
local lsp_names = function ()
local clients = {}
for _, client in ipairs(vim.lsp.get_active_clients({ bufnr = 0})) do
for _, client in ipairs(vim.lsp.get_clients({ bufnr = 0})) do
table.insert(clients, client.name)
end
return '' .. table.concat(clients, ', ')

View file

@ -231,7 +231,3 @@ Import-Module WSLTabCompletion
Get-ChildItem ~\.config\powershell\completions\ | % { . $_ }
# Automatically appended by pdm scoop package
Get-ChildItem "$PROFILE\..\Completions\" | ForEach-Object {
. $_.FullName
}

View file

@ -1,6 +1,8 @@
try
using OhMyREPL
enable_autocomplete_brackets(false)
include("catppuccin.jl")
OhMyREPL.colorscheme!("CatppuccinLatte")
catch e
@warn "Failed to load OhMyREPL"
end

View file

@ -2,7 +2,7 @@
source ~/.local.tmux.conf
# -----------------------------------------------
set -g history-limit 500000
set -g history-limit 50000
set-option -g default-command fish

View file

@ -44,15 +44,16 @@ return {
-- }
-- },
color_scheme = "iceberg-dark",
-- color_scheme = "iceberg-dark",
color_scheme = "catppuccin-latte",
use_fancy_tab_bar = false,
tab_bar_at_bottom = true,
window_background_opacity = 0.85,
-- font = wezterm.font 'FirgeNerd Console'
font = wezterm.font_with_fallback {
{
family = 'JuiseeHW Nerd Font',
weight = 'Bold',
family = 'Juisee HWNF',
weight = 'Regular',
harfbuzz_features = {
'calt=0', -- disables ligature
'zero=1',

View file

@ -0,0 +1,73 @@
#!/usr/bin/env python
"""
Modify qpdfview config.
"""
import configparser
import os
import shutil
# =======================================================================================
QPDFVIEW_CONFIGDIR = os.path.expanduser("~/.config/qpdfview/")
if not os.path.exists(QPDFVIEW_CONFIGDIR):
print("qpdfview config directory not found.")
print("Install qpdfview first and rerun this script.")
print("Exiting...")
exit(1)
# =======================================================================================
QPDFVIEW_CONFIG_CONFIG = QPDFVIEW_CONFIGDIR + "qpdfview.conf"
print(f"{QPDFVIEW_CONFIG_CONFIG=}")
if os.path.exists(QPDFVIEW_CONFIG_CONFIG):
shutil.copyfile(QPDFVIEW_CONFIG_CONFIG, QPDFVIEW_CONFIG_CONFIG + ".orig")
config = configparser.RawConfigParser()
config.optionxform = lambda optionstr: optionstr
config.read(QPDFVIEW_CONFIG_CONFIG)
config["documentView"]["autoRefresh"] = "true"
config["documentView"]["highlightAll"] = "true"
config["documentView"]["highlightCurrentThumbnail"] = "true"
config["documentView"]["highlightDuration"] = "5000"
config["documentView"]["limitThumbnailsToResults"] = "true"
config["documentView"]["prefetch"] = "true"
config["documentView"]["prefetchDistance"] = "5"
config["documentView"]["relativeJumps"] = "true"
config["mainWindow"]["recentlyClosedCount"] = "20"
config["mainWindow"]["recentlyUsedCount"] = "40"
config["mainWindow"]["restorePerFileSettings"] = "true"
config["mainWindow"]["restoreTabs"] = "true"
config["mainWindow"]["searchableMenus"] = "true"
config["mainWindow"]["tabVisibility"] = "0"
config["mainWindow"]["trackRecentlyUsed"] = "true"
config["mainWindow"]["viewToolBar"] = "scaleFactor, zoomIn, zoomOut, fitToPageWidthMode"
config["pageItem"]["cacheSize"] = "131072K"
with open(QPDFVIEW_CONFIG_CONFIG, "w") as file:
config.write(file, space_around_delimiters=False)
# =======================================================================================
QPDFVIEW_CONFIG_SHORTCUTS = QPDFVIEW_CONFIGDIR + "shortcuts.conf"
if os.path.exists(QPDFVIEW_CONFIG_SHORTCUTS):
shutil.copyfile(QPDFVIEW_CONFIG_SHORTCUTS, QPDFVIEW_CONFIG_SHORTCUTS + ".orig")
shortcut_config = configparser.RawConfigParser()
shortcut_config.optionxform = lambda optionstr: optionstr
shortcut_config.read(QPDFVIEW_CONFIG_SHORTCUTS)
shortcut_config["General"]["continuousMode"] = "Ctrl+7, C"
shortcut_config["General"]["findNext"] = "Ctrl+G, Return"
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"
with open(QPDFVIEW_CONFIG_SHORTCUTS, "w") as file:
shortcut_config.write(file, space_around_delimiters=False)

View file

@ -0,0 +1,15 @@
keymap:
- name: Wheel Tilt
remap:
# Side forward
# Btn_Side: Left
# Side back
# Btn_Extra: Right
XRIGHTSCROLL:
remap:
XHIRES_RIGHTSCROLL: Ctrl-Tab
XLEFTSCROLL:
remap:
XHIRES_LEFTSCROLL: Ctrl-Shift-Tab
device:
only: 'Logi M750 Mouse'

@ -1 +1 @@
Subproject commit 21f32a2032614d2e923be436ca4a4f0f07a8cdc5
Subproject commit 98581abe7cb2baecd63e95c337da08778fec60ae

14
nix/README.md Normal file
View file

@ -0,0 +1,14 @@
# Experimental Nix flake for general cli environment
- Basically for servers, not for my laptops.
# How to Install
```sh
$ nix flake build
$ nix profile install .#my-packages
```
# How to upgrade
```sh
$ nix flake upgrade
$ nix profile upgrade my-packages
```

25
nix/flake.nix Normal file
View file

@ -0,0 +1,25 @@
{
description = "A very basic flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
};
outputs = { self, nixpkgs }: {
packages.x86_64-linux.my-packages = nixpkgs.legacyPackages.x86_64-linux.buildEnv {
name = "my-packages-list";
paths = [
nixpkgs.legacyPackages.x86_64-linux.fish
nixpkgs.legacyPackages.x86_64-linux.git
nixpkgs.legacyPackages.x86_64-linux.curl
nixpkgs.legacyPackages.x86_64-linux.neovim
nixpkgs.legacyPackages.x86_64-linux.ripgrep
nixpkgs.legacyPackages.x86_64-linux.fzf
nixpkgs.legacyPackages.x86_64-linux.clang-tools
];
};
};
}