Note
config is installed at the XDG based directory.
There is a sub-configuration for vscode, located in lua\noidilin\.
- lazyvim alike keymap:
lua\noidilin\vs-keymap - lazyvim alike plugin:
lua\noidilin\vs-env
Warning
Symlink at '$env.LOCALAPPDATA\nvim' for vscode-neovim, since it only check the default installation path.
This configuration is customized with my own theme 'achroma', which powered by the lush plugin.
lua\plugins\lush.lualoads lush function, and my custom theme directorylua\theme\- load custom theme:
lua\theme\colors\achroma.luais loaded- theme is named after
vim.g.colors_name = "achroma" - theme setup is passed to lush to apply with
require("lush")(require("lush_theme.init"))
- theme is named after
- theme setup:
lua\theme\lua\lush_theme\init.luais the entry point of my theme.- design token level 1:
_primitive.lua(color palette) - design token level 2:
_semantic.lua(syntax) - design token level 3:
_component.lua(UI group) - core features:
lua\theme\lua\lush_core\ - plugin:
lua\theme\lua\lush_plugin\ - deprecated plugin:
lua\theme\lua\lush_stale\
- design token level 1:
[!note] directories naming starting with
lush_Due to the poor path resolution in lua, the name of directories should avoid collapsing with names under the rootlua.
[!note] naming in lazyvim
- plugin name:
theme(based on the directory name)- colorscheme name:
achroma(based onvim.g.colors_nameinlua\theme\colors\achroma.lua) Note that custom theme file needs to be named after the name of the colorscheme.
- engine: blink.cmp
- snippet:
- react: simple-react-snippets
- arrow function: vscode-arrow-snippets
Remove files in shada directory fixes the issue.
ls ($env.LOCALAPPDATA | path join 'nvim-data' 'shada' ) | get name | each {|file| rm -fv $file}$env.LOCALAPPDATA | path join 'nvim-data' 'shada': construct the path.ls ($constructed_path): list all files and directories as a structured tableget name: extract just the file nameseach {...}loops through each file path.
rm -fv $file: delete each file (-f: force,-v: verbose)
I use this method due to wildcard (*) character not expanding properly, and ls naturally gets all files, eliminating the need for *. Then each ensures that rm processes each file separately.