Merge branch 'master'
This commit is contained in:
commit
e138560564
10 changed files with 586 additions and 222 deletions
186
dot.config/foot/foot.ini
Normal file
186
dot.config/foot/foot.ini
Normal file
|
@ -0,0 +1,186 @@
|
|||
# -*- conf -*-
|
||||
|
||||
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
|
||||
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
|
||||
# login-shell=no
|
||||
|
||||
# app-id=foot
|
||||
# title=foot
|
||||
# locked-title=no
|
||||
|
||||
font=Monofur Nerd Font:size=11:antialias=true:autohint=true
|
||||
# font-bold=<bold variant of regular font>
|
||||
# font-italic=<italic variant of regular font>
|
||||
# font-bold-italic=<bold+italic variant of regular font>
|
||||
# line-height=<font metrics>
|
||||
# letter-spacing=0
|
||||
# horizontal-letter-offset=0
|
||||
# vertical-letter-offset=0
|
||||
# underline-offset=<font metrics>
|
||||
# box-drawings-uses-font-glyphs=no
|
||||
# dpi-aware=auto
|
||||
|
||||
# initial-window-size-pixels=700x500 # Or,
|
||||
# initial-window-size-chars=<COLSxROWS>
|
||||
initial-window-mode=maximized
|
||||
# pad=2x2 # optionally append 'center'
|
||||
# resize-delay-ms=100
|
||||
|
||||
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
|
||||
|
||||
# bold-text-in-bright=no
|
||||
# word-delimiters=,│`|:"'()[]{}<>
|
||||
# selection-target=primary
|
||||
# workers=<number of logical CPUs>
|
||||
|
||||
[bell]
|
||||
# urgent=no
|
||||
# notify=no
|
||||
# command=
|
||||
# command-focused=no
|
||||
|
||||
[scrollback]
|
||||
# lines=1000
|
||||
# multiplier=3.0
|
||||
# indicator-position=relative
|
||||
# indicator-format=
|
||||
|
||||
[url]
|
||||
# launch=xdg-open ${url}
|
||||
# label-letters=sadfjklewcmpgh
|
||||
# osc8-underline=url-mode
|
||||
# protocols=http, https, ftp, ftps, file, gemini, gopher
|
||||
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
|
||||
|
||||
[cursor]
|
||||
# style=block
|
||||
# color=<inverse foreground/background>
|
||||
# blink=no
|
||||
# beam-thickness=1.5
|
||||
# underline-thickness=<font underline thickness>
|
||||
|
||||
[mouse]
|
||||
# hide-when-typing=no
|
||||
# alternate-scroll-mode=yes
|
||||
|
||||
[colors]
|
||||
# alpha=1.0
|
||||
# foreground=dcdccc
|
||||
# background=111111
|
||||
|
||||
## Normal/regular colors (color palette 0-7)
|
||||
# regular0=222222 # black
|
||||
# regular1=cc9393 # red
|
||||
# regular2=7f9f7f # green
|
||||
# regular3=d0bf8f # yellow
|
||||
# regular4=6ca0a3 # blue
|
||||
# regular5=dc8cc3 # magenta
|
||||
# regular6=93e0e3 # cyan
|
||||
# regular7=dcdccc # white
|
||||
|
||||
## Bright colors (color palette 8-15)
|
||||
# bright0=666666 # bright black
|
||||
# bright1=dca3a3 # bright red
|
||||
# bright2=bfebbf # bright green
|
||||
# bright3=f0dfaf # bright yellow
|
||||
# bright4=8cd0d3 # bright blue
|
||||
# bright5=fcace3 # bright magenta
|
||||
# bright6=b3ffff # bright cyan
|
||||
# bright7=ffffff # bright white
|
||||
|
||||
## dimmed colors (see foot.ini(5) man page)
|
||||
# dim0=<not set>
|
||||
# ...
|
||||
# dim7=<not-set>
|
||||
|
||||
## The remaining 256-color palette
|
||||
# 16 = <256-color palette #16>
|
||||
# ...
|
||||
# 255 = <256-color palette #255>
|
||||
|
||||
## Misc colors
|
||||
# selection-foreground=<inverse foreground/background>
|
||||
# selection-background=<inverse foreground/background>
|
||||
# jump-labels=<regular0> <regular3>
|
||||
# urls=<regular3>
|
||||
# scrollback-indicator=<regular0> <bright4>
|
||||
|
||||
[csd]
|
||||
preferred=none
|
||||
# size=26
|
||||
# font=<primary font>
|
||||
# color=<foreground color>
|
||||
# hide-when-typing=no
|
||||
# border-width=0
|
||||
# border-color=<csd.color>
|
||||
# button-width=26
|
||||
# button-color=<background color>
|
||||
# button-minimize-color=<regular4>
|
||||
# button-maximize-color=<regular2>
|
||||
# button-close-color=<regular1>
|
||||
|
||||
[key-bindings]
|
||||
# scrollback-up-page=Shift+Page_Up
|
||||
# scrollback-up-half-page=none
|
||||
# scrollback-up-line=none
|
||||
# scrollback-down-page=Shift+Page_Down
|
||||
# scrollback-down-half-page=none
|
||||
# scrollback-down-line=none
|
||||
# clipboard-copy=Control+Shift+c XF86Copy
|
||||
# clipboard-paste=Control+Shift+v XF86Paste
|
||||
# primary-paste=Shift+Insert
|
||||
# search-start=Control+Shift+r
|
||||
# font-increase=Control+plus Control+equal Control+KP_Add
|
||||
# font-decrease=Control+minus Control+KP_Subtract
|
||||
# font-reset=Control+0 Control+KP_0
|
||||
# spawn-terminal=Control+Shift+n
|
||||
# minimize=none
|
||||
# maximize=none
|
||||
fullscreen=F11
|
||||
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||
# pipe-selected=[xargs -r firefox] none
|
||||
# show-urls-launch=Control+Shift+u
|
||||
# show-urls-copy=none
|
||||
# show-urls-persistent=none
|
||||
# noop=none
|
||||
|
||||
[search-bindings]
|
||||
# cancel=Control+g Control+c Escape
|
||||
# commit=Return
|
||||
# find-prev=Control+r
|
||||
# find-next=Control+s
|
||||
# cursor-left=Left Control+b
|
||||
# cursor-left-word=Control+Left Mod1+b
|
||||
# cursor-right=Right Control+f
|
||||
# cursor-right-word=Control+Right Mod1+f
|
||||
# cursor-home=Home Control+a
|
||||
# cursor-end=End Control+e
|
||||
# delete-prev=BackSpace
|
||||
# delete-prev-word=Mod1+BackSpace Control+BackSpace
|
||||
# delete-next=Delete
|
||||
# delete-next-word=Mod1+d Control+Delete
|
||||
# extend-to-word-boundary=Control+w
|
||||
# extend-to-next-whitespace=Control+Shift+w
|
||||
# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
|
||||
# primary-paste=Shift+Insert
|
||||
|
||||
[url-bindings]
|
||||
# cancel=Control+g Control+c Control+d Escape
|
||||
# toggle-url-visible=t
|
||||
|
||||
[text-bindings]
|
||||
# \x03=Mod4+c # Map Super+c -> Ctrl+c
|
||||
|
||||
[mouse-bindings]
|
||||
# selection-override-modifiers=Shift
|
||||
# primary-paste=BTN_MIDDLE
|
||||
# select-begin=BTN_LEFT
|
||||
# select-begin-block=Control+BTN_LEFT
|
||||
# select-extend=BTN_RIGHT
|
||||
# select-extend-character-wise=Control+BTN_RIGHT
|
||||
# select-word=BTN_LEFT-2
|
||||
# select-word-whitespace=Control+BTN_LEFT-2
|
||||
# select-row=BTN_LEFT-3
|
||||
|
||||
# vim: ft=dosini
|
|
@ -107,6 +107,12 @@ roots = ["package.json"]
|
|||
command = "html-languageserver"
|
||||
args = ["--stdio"]
|
||||
|
||||
[language.svelte]
|
||||
filetypes = ["svelte"]
|
||||
roots = ["package.json"]
|
||||
command = "svelteserver"
|
||||
args = ["--stdio"]
|
||||
|
||||
# # Commented out by default because you still need to set the paths in the JDT
|
||||
# # Language Server arguments below before this can become a valid configuration.
|
||||
# [language.java]
|
||||
|
@ -137,11 +143,11 @@ args = ["--stdio"]
|
|||
# # See https://github.dev/eclipse/eclipse.jdt.ls
|
||||
# # "java.format.insertSpaces" = true
|
||||
|
||||
[language.javascript]
|
||||
filetypes = ["javascript"]
|
||||
roots = [".flowconfig"]
|
||||
command = "flow"
|
||||
args = ["lsp"]
|
||||
# [language.javascript]
|
||||
# filetypes = ["javascript"]
|
||||
# roots = [".flowconfig"]
|
||||
# command = "flow"
|
||||
# args = ["lsp"]
|
||||
|
||||
[language.json]
|
||||
filetypes = ["json"]
|
||||
|
@ -149,7 +155,9 @@ roots = ["package.json"]
|
|||
command = "json-languageserver"
|
||||
args = ["--stdio"]
|
||||
|
||||
# Requires Julia packages "LanguageServer", "StaticLint" and "SymbolServer"
|
||||
# Requires Julia package "LanguageServer"
|
||||
# Run: `julia --project=@kak-lsp -e 'import Pkg; Pkg.add("LanguageServer")'` to install it
|
||||
# Configuration adapted from https://github.com/neovim/nvim-lspconfig/blob/bcebfac7429cd8234960197dca8de1767f3ef5d3/lua/lspconfig/julials.lua
|
||||
[language.julia]
|
||||
filetypes = ["julia"]
|
||||
roots = ["Project.toml", ".git", ".hg"]
|
||||
|
@ -159,13 +167,28 @@ args = [
|
|||
"--history-file=no",
|
||||
"-e",
|
||||
"""
|
||||
ls_install_path = joinpath(get(DEPOT_PATH, 1, joinpath(homedir(), ".julia")), "environments", "kak-lsp");
|
||||
pushfirst!(LOAD_PATH, ls_install_path);
|
||||
using LanguageServer;
|
||||
using Pkg;
|
||||
import StaticLint;
|
||||
import SymbolServer;
|
||||
import REPL;
|
||||
env_path = dirname(Pkg.Types.Context().env.project_file);
|
||||
server = LanguageServer.LanguageServerInstance(stdin, stdout, env_path, "");
|
||||
popfirst!(LOAD_PATH);
|
||||
depot_path = get(ENV, "JULIA_DEPOT_PATH", "");
|
||||
buffer_file = ENV["kak_buffile"];
|
||||
project_path = let
|
||||
dirname(something(
|
||||
# 1. Check if there is an explicitly set project
|
||||
Base.load_path_expand((
|
||||
p = get(ENV, "JULIA_PROJECT", nothing);
|
||||
p === nothing ? nothing : isempty(p) ? nothing : p
|
||||
)),
|
||||
# 2. Check for Project.toml in current working directory
|
||||
Base.current_project(pwd()),
|
||||
# 3. Check for Project.toml from buffer's full file path excluding the file name
|
||||
Base.current_project(dirname(buffer_file)),
|
||||
# 4. Fallback to global environment
|
||||
Base.active_project()
|
||||
))
|
||||
end
|
||||
server = LanguageServer.LanguageServerInstance(stdin, stdout, project_path, depot_path);
|
||||
server.runlinter = true;
|
||||
run(server);
|
||||
""",
|
||||
|
@ -198,7 +221,7 @@ forwardSearch.args = [
|
|||
"""
|
||||
sh -c '
|
||||
echo "
|
||||
evaluate-commands -client $kak_client %{
|
||||
evaluate-commands -client %opt{texlab_client} %{
|
||||
evaluate-commands -try-client %opt{jumpclient} %{
|
||||
edit -- %{input} %{line}
|
||||
}
|
||||
|
@ -293,11 +316,11 @@ args = [
|
|||
# See https://github.com/rust-lang/rls#configuration
|
||||
# features = []
|
||||
|
||||
#[language.rust]
|
||||
#filetypes = ["rust"]
|
||||
#roots = ["Cargo.toml"]
|
||||
#command = "sh"
|
||||
#args = [
|
||||
# [language.rust]
|
||||
# filetypes = ["rust"]
|
||||
# roots = ["Cargo.toml"]
|
||||
# command = "sh"
|
||||
# args = [
|
||||
# "-c",
|
||||
# """
|
||||
# if path=$(rustup which rust-analyzer 2>/dev/null); then
|
||||
|
@ -306,12 +329,12 @@ args = [
|
|||
# rust-analyzer
|
||||
# fi
|
||||
# """,
|
||||
#]
|
||||
#settings_section = "rust-analyzer"
|
||||
#[language.rust.settings.rust-analyzer]
|
||||
## See https://rust-analyzer.github.io/manual.html#configuration
|
||||
#hoverActions.enable = false # kak-lsp doesn't support this at the moment
|
||||
## cargo.features = []
|
||||
# ]
|
||||
# settings_section = "rust-analyzer"
|
||||
# [language.rust.settings.rust-analyzer]
|
||||
# # See https://rust-analyzer.github.io/manual.html#configuration
|
||||
# hoverActions.enable = false # kak-lsp doesn't support this at the moment
|
||||
# # cargo.features = []
|
||||
|
||||
[language.terraform]
|
||||
filetypes = ["terraform"]
|
||||
|
@ -323,7 +346,7 @@ args = ["serve"]
|
|||
# rootModulePaths = []
|
||||
|
||||
[language.typescript]
|
||||
filetypes = ["typescript"]
|
||||
filetypes = ["typescript", "javascript"]
|
||||
roots = ["package.json", "tsconfig.json", ".git", ".hg"]
|
||||
command = "typescript-language-server"
|
||||
args = ["--stdio"]
|
||||
|
@ -337,6 +360,11 @@ args = ["--stdio"]
|
|||
# enable = true
|
||||
# lint = true
|
||||
|
||||
[language.vue]
|
||||
filetypes = ["vue"]
|
||||
roots = [".git", ".hg", ".env", "package.json", "tsconfig.json", "jsconfig.json", "vite.config.ts", "vue.config.js", "nuxt.config.ts"]
|
||||
command = "vls"
|
||||
|
||||
[language.yaml]
|
||||
filetypes = ["yaml"]
|
||||
roots = [".git", ".hg"]
|
||||
|
@ -358,8 +386,8 @@ command = "zls"
|
|||
# However, many language servers implement their own values.
|
||||
# Make sure to check the output of `lsp-capabilities` and each server's documentation and source code as well.
|
||||
# Examples:
|
||||
# - TypeScript: https://github.com/microsoft/vscode-languageserver-node/blob/2645fb54ea1e764aff71dee0ecc8aceff3aabf56/client/src/common/semanticTokens.ts#L58
|
||||
# - Rust Analyzer: https://github.com/rust-analyzer/rust-analyzer/blob/f6da603c7fe56c19a275dc7bab1f30fe1ad39707/crates/ide/src/syntax_highlighting.rs#L42
|
||||
# - TypeScript: https://github.com/microsoft/vscode-languageserver-node/blob/main/client/src/common/semanticTokens.ts
|
||||
# - Rust Analyzer: https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ide/src/syntax_highlighting.rs
|
||||
[semantic_tokens]
|
||||
faces = [
|
||||
{face="documentation", token="comment", modifiers=["documentation"]},
|
||||
|
|
83
dot.config/kak/colors/catppuccin_mocha.kak
Normal file
83
dot.config/kak/colors/catppuccin_mocha.kak
Normal file
|
@ -0,0 +1,83 @@
|
|||
# Catppuccin theme for Kakoune
|
||||
|
||||
# Color palette
|
||||
declare-option str rosewater 'rgb:f5e0dc'
|
||||
declare-option str red 'rgb:f38ba8'
|
||||
declare-option str mauve 'rgb:cba6f7'
|
||||
declare-option str maroon 'rgb:eba0ac'
|
||||
declare-option str pink 'rgb:f5c2e7'
|
||||
declare-option str cyan 'rgb:74c7ec'
|
||||
declare-option str yellow 'rgb:f9e2af'
|
||||
declare-option str green 'rgb:a6e3a1'
|
||||
declare-option str white 'rgb:cdd6f4'
|
||||
declare-option str blue 'rgb:89b4fa'
|
||||
declare-option str sky 'rgb:89dceb'
|
||||
declare-option str lavender 'rgb:b4befe'
|
||||
declare-option str black1 'rgb:181825'
|
||||
declare-option str black2 'rgb:1e1e2e'
|
||||
declare-option str black3 'rgb:313244'
|
||||
declare-option str orange 'rgb:fab387'
|
||||
declare-option str teal 'rgb:94e2d5'
|
||||
declare-option str gray0 'rgb:585b70'
|
||||
declare-option str gray1 'rgb:6c7086'
|
||||
declare-option str bright_red %opt{red}
|
||||
declare-option str bright_green %opt{green}
|
||||
declare-option str bright_yellow %opt{yellow}
|
||||
declare-option str bright_blue %opt{blue}
|
||||
declare-option str bright_cyan %opt{cyan}
|
||||
declare-option str bright_white %opt{white}
|
||||
declare-option str foreground %opt{white}
|
||||
declare-option str background %opt{black2}
|
||||
|
||||
# Markup
|
||||
set-face global title "%opt{rosewater}"
|
||||
set-face global header "%opt{bright_red}"
|
||||
set-face global bold "%opt{mauve}"
|
||||
set-face global italic "%opt{lavender}"
|
||||
set-face global mono "%opt{green}"
|
||||
set-face global block "%opt{cyan}"
|
||||
set-face global link "%opt{green}"
|
||||
set-face global bullet "%opt{green}"
|
||||
set-face global list "%opt{white}"
|
||||
|
||||
# Builtins
|
||||
set-face global Default "%opt{white},%opt{background}"
|
||||
set-face global PrimarySelection "%opt{gray0},%opt{lavender}"
|
||||
set-face global SecondarySelection "%opt{lavender},%opt{gray0}"
|
||||
set-face global PrimaryCursor "%opt{background},%opt{rosewater}"
|
||||
set-face global SecondaryCursor "%opt{black1},%opt{teal}"
|
||||
set-face global PrimaryCursorEol "%opt{gray0},%opt{mauve}"
|
||||
set-face global SecondaryCursorEol "%opt{gray0},%opt{maroon}"
|
||||
set-face global LineNumbers "%opt{gray1},%opt{background}"
|
||||
set-face global LineNumberCursor "%opt{lavender},%opt{gray0}+b"
|
||||
set-face global LineNumbersWrapped "%opt{teal},%opt{black1}+i"
|
||||
set-face global MenuForeground "%opt{white},%opt{gray0}+b"
|
||||
set-face global MenuBackground "%opt{white},%opt{black3}"
|
||||
set-face global MenuInfo "%opt{black1},%opt{blue}"
|
||||
set-face global Information "%opt{black1},%opt{lavender}"
|
||||
set-face global Error "%opt{red},%opt{black2}"
|
||||
set-face global StatusLine "%opt{white},%opt{black1}"
|
||||
set-face global StatusLineMode "%opt{black2},%opt{yellow}"
|
||||
set-face global StatusLineInfo "%opt{background},%opt{green}"
|
||||
set-face global StatusLineValue "%opt{orange},%opt{gray0}"
|
||||
set-face global StatusCursor "%opt{black1},%opt{lavender}"
|
||||
set-face global Prompt "%opt{green},%opt{black2}"
|
||||
set-face global MatchingChar "%opt{maroon},%opt{black2}"
|
||||
set-face global Whitespace "%opt{gray1},%opt{background}+f"
|
||||
set-face global WrapMarker Whitespace
|
||||
set-face global BufferPadding "%opt{background},%opt{background}"
|
||||
|
||||
# Code
|
||||
set-face global value "%opt{orange}"
|
||||
set-face global type "%opt{rosewater}"
|
||||
set-face global variable "%opt{white}"
|
||||
set-face global module "%opt{maroon}"
|
||||
set-face global function "%opt{sky}"
|
||||
set-face global string "%opt{green}"
|
||||
set-face global keyword "%opt{blue}"
|
||||
set-face global operator "%opt{blue}"
|
||||
set-face global attribute "%opt{green}"
|
||||
set-face global comment "%opt{gray1}"
|
||||
set-face global documentation comment
|
||||
set-face global meta "%opt{pink}"
|
||||
set-face global builtin "%opt{lavender}+b"
|
84
dot.config/kak/colors/penumbra.kak
Normal file
84
dot.config/kak/colors/penumbra.kak
Normal file
|
@ -0,0 +1,84 @@
|
|||
# Catppuccin theme for Kakoune
|
||||
|
||||
# Color palette
|
||||
declare-option str rosewater 'rgb:CB7459'
|
||||
declare-option str red 'rgb:CA7081'
|
||||
declare-option str mauve 'rgb:CA736C'
|
||||
declare-option str maroon 'rgb:F2E6D4'
|
||||
declare-option str pink 'rgb:BD72A8'
|
||||
declare-option str cyan 'rgb:00A0BE'
|
||||
declare-option str yellow 'rgb:A38F2D'
|
||||
declare-option str green 'rgb:46A473'
|
||||
declare-option str white 'rgb:BEBEBE'
|
||||
declare-option str blue 'rgb:7E87D6'
|
||||
declare-option str sky 'rgb:6E8DD5'
|
||||
declare-option str lavender 'rgb:BC73A4'
|
||||
declare-option str black1 'rgb:24272B'
|
||||
declare-option str black2 'rgb:2F3339'
|
||||
declare-option str black3 'rgb:3E4044'
|
||||
declare-option str orange 'rgb:C27D40'
|
||||
declare-option str teal 'rgb:00A2AF'
|
||||
declare-option str gray0 'rgb:585b70'
|
||||
declare-option str gray1 'rgb:6c7086'
|
||||
declare-option str bright_red %opt{red}
|
||||
declare-option str bright_green %opt{green}
|
||||
declare-option str bright_yellow %opt{yellow}
|
||||
declare-option str bright_blue %opt{blue}
|
||||
declare-option str bright_cyan %opt{cyan}
|
||||
declare-option str bright_white 'rgb:FFF7ED'
|
||||
declare-option str foreground %opt{white}
|
||||
declare-option str background %opt{black2}
|
||||
|
||||
# Markup
|
||||
set-face global title "%opt{rosewater}"
|
||||
set-face global header "%opt{bright_red}"
|
||||
set-face global bold "%opt{mauve}"
|
||||
set-face global italic "%opt{lavender}"
|
||||
set-face global mono "%opt{green}"
|
||||
set-face global block "%opt{cyan}"
|
||||
set-face global link "%opt{green}"
|
||||
set-face global bullet "%opt{green}"
|
||||
set-face global list "%opt{white}"
|
||||
|
||||
# Builtins
|
||||
set-face global Default "%opt{white},%opt{background}"
|
||||
set-face global PrimarySelection "%opt{bright_white},%opt{rosewater}"
|
||||
set-face global SecondarySelection "%opt{lavender},%opt{gray0}"
|
||||
set-face global PrimaryCursor "%opt{background},%opt{rosewater}"
|
||||
set-face global SecondaryCursor "%opt{black1},%opt{teal}"
|
||||
set-face global PrimaryCursorEol "%opt{gray0},%opt{mauve}"
|
||||
set-face global SecondaryCursorEol "%opt{gray0},%opt{maroon}"
|
||||
set-face global LineNumbers "%opt{gray1},%opt{background}"
|
||||
set-face global LineNumberCursor "%opt{rosewater},%opt{background}+b"
|
||||
set-face global LineNumbersWrapped "%opt{teal},%opt{black1}+i"
|
||||
set-face global MenuForeground "%opt{white},%opt{gray0}+b"
|
||||
set-face global MenuBackground "%opt{white},%opt{black3}"
|
||||
set-face global MenuInfo "%opt{black1},%opt{blue}"
|
||||
set-face global Information "%opt{black1},%opt{blue}"
|
||||
set-face global Error "%opt{red},%opt{black2}"
|
||||
set-face global StatusLine "%opt{white},%opt{black1}"
|
||||
set-face global StatusLineMode "%opt{black2},%opt{yellow}"
|
||||
set-face global StatusLineInfo "%opt{background},%opt{green}"
|
||||
set-face global StatusLineValue "%opt{orange},%opt{gray0}"
|
||||
set-face global StatusCursor "%opt{black1},%opt{lavender}"
|
||||
set-face global Prompt "%opt{green},%opt{black2}"
|
||||
set-face global MatchingChar "%opt{maroon},%opt{black2}"
|
||||
set-face global Whitespace "%opt{gray1},%opt{background}+f"
|
||||
set-face global WrapMarker Whitespace
|
||||
set-face global BufferPadding "%opt{background},%opt{background}"
|
||||
set-face global MatchingChar "%opt{bright_white},%opt{black1}+b"
|
||||
|
||||
# Code
|
||||
set-face global value "%opt{orange}"
|
||||
set-face global type "%opt{mauve}"
|
||||
set-face global variable "%opt{white}"
|
||||
set-face global module "%opt{maroon}"
|
||||
set-face global function "%opt{sky}"
|
||||
set-face global string "%opt{green}"
|
||||
set-face global keyword "%opt{blue}"
|
||||
set-face global operator "%opt{blue}"
|
||||
set-face global attribute "%opt{green}"
|
||||
set-face global comment "%opt{gray1}"
|
||||
set-face global documentation comment
|
||||
set-face global meta "%opt{pink}"
|
||||
set-face global builtin "%opt{lavender}+b"
|
19
dot.config/kak/filetypes.kak
Normal file
19
dot.config/kak/filetypes.kak
Normal file
|
@ -0,0 +1,19 @@
|
|||
hook -group markdown-highlight global WinSetOption filetype=markdown %{
|
||||
add-highlighter window/ wrap -word -width 80
|
||||
add-highlighter window/ number-lines -hlcursor -separator ' '
|
||||
}
|
||||
hook global WinSetOption filetype=(?!markdown).* %{
|
||||
add-highlighter window/ number-lines -hlcursor -separator ' '
|
||||
}
|
||||
|
||||
hook global WinSetOption filetype=rust %{
|
||||
racer-enable-autocomplete
|
||||
set window formatcmd 'rustfmt'
|
||||
hook window BufWritePre .* format
|
||||
set buffer tabstop 4
|
||||
set buffer indentwidth 4
|
||||
}
|
||||
hook global WinSetOption filetype=json %{
|
||||
set window formatcmd 'jq --indent 2 .'
|
||||
hook window BufWritePre .* format
|
||||
}
|
|
@ -1,149 +1,3 @@
|
|||
colorscheme warm-pastel
|
||||
set-option global scrolloff 5,5
|
||||
set-option global incsearch true
|
||||
set-option global aligntab true
|
||||
set-option global ui_options ncurses_assistant=dilbert
|
||||
set-option -add global ui_options ncurses_change_colors=true
|
||||
set-option global grepcmd 'rg --column'
|
||||
set-option global tabstop 2
|
||||
set-option global indentwidth 2
|
||||
|
||||
# plug.kak plugin manager
|
||||
source "%val{config}/plugins/plug.kak/rc/plug.kak"
|
||||
|
||||
|
||||
plug "andreyorst/plug.kak" noload
|
||||
|
||||
plug "lenormf/kakoune-extra" load %{
|
||||
autodownload.kak
|
||||
}
|
||||
plug "andreyorst/fzf.kak" config %{
|
||||
map global normal <c-p> ': fzf-mode<ret>'
|
||||
}
|
||||
|
||||
###############################################
|
||||
# lsp support (https://github.com/ul/kak-lsp) #
|
||||
# ...but it's not working yet #
|
||||
###############################################
|
||||
|
||||
eval %sh{kak-lsp --kakoune -s $kak_session}
|
||||
set-option global lsp_completion_trigger "execute-keys 'h<a-h><a-k>\S[^\h\n,=;*(){}\[\]]\z<ret>'"
|
||||
set-option global lsp_diagnostic_line_error_sign '║'
|
||||
set-option global lsp_diagnostic_line_warning_sign '┊'
|
||||
|
||||
define-command ne -docstring 'go to next error/warning from lsp' %{ lsp-find-error --include-warnings }
|
||||
define-command pe -docstring 'go to previous error/warning from lsp' %{ lsp-find-error --previous --include-warnings }
|
||||
define-command ee -docstring 'go to current error/warning from lsp' %{ lsp-find-error --include-warnings; lsp-find-error --previous --include-warnings }
|
||||
|
||||
hook global WinSetOption filetype=(c|cpp|rust|go|javascript|typescript) %{
|
||||
# map window user "l" ": enter-user-mode lsp<ret>" -docstring "LSP mode"
|
||||
map window user l %{: enter-user-mode lsp<ret>} -docstring "LSP mode"
|
||||
set-option window lsp_auto_highlight_references true
|
||||
set-option window lsp_hover_anchor true
|
||||
set-face window DiagnosticError default+u
|
||||
set-face window DiagnosticWarning default+u
|
||||
lsp-enable-window
|
||||
lsp-auto-hover-enable
|
||||
lsp-auto-hover-insert-mode-disable
|
||||
}
|
||||
hook global WinSetOption filetype=rust %{
|
||||
set-option window lsp_server_configuration rust.clippy_preference="on"
|
||||
}
|
||||
hook global KakEnd .* lsp-exit
|
||||
|
||||
|
||||
#eval %sh{kak-lsp --kakoune -s $kak_session}
|
||||
#hook global WinSetOption filetype=(rust|python|go|javascript|typescript|c|cpp) %{
|
||||
# lsp-enable-window
|
||||
#}
|
||||
|
||||
###########################################################
|
||||
# kakoune-buffers #
|
||||
# sets former b (word-back) to q and makes b a global key #
|
||||
# for the new buffers command. I don't use macros anyway. #
|
||||
###########################################################
|
||||
plug 'delapouite/kakoune-buffers' config %{
|
||||
map global normal ^ q
|
||||
map global normal <a-^> Q
|
||||
map global normal q b
|
||||
map global normal Q B
|
||||
map global normal <a-q> <a-b>
|
||||
map global normal <a-Q> <a-B>
|
||||
map global normal b ': enter-buffers-mode<ret>' -docstring 'buffers'
|
||||
map global normal B ': enter-user-mode -lock buffers<ret>' -docstring 'buffers (lock)'
|
||||
hook·global·WinDisplay·.*·info-buffers
|
||||
}
|
||||
|
||||
plug "ABuffSeagull/kakoune-vue"
|
||||
plug "ABuffSeagull/kakoune-wiki"
|
||||
|
||||
############################################################
|
||||
# replace mode #
|
||||
# that is one thing I missed in Kakoune: writing over text #
|
||||
############################################################
|
||||
plug "alexherbo2/replace.kak" noload config %{
|
||||
## currently not working well
|
||||
# map global user r -docstring 'Replace' ': replace<ret>'
|
||||
}
|
||||
|
||||
###########################################################
|
||||
# explore files (https://github.com/alexherbo2/explore.kak)
|
||||
# use fd instead of find
|
||||
###########################################################
|
||||
plug "alexherbo2/explore.kak" config %{
|
||||
define-command -hidden -override explore-files-recursive -params 0..1 %{
|
||||
explore-files-display "fd %sh(test $kak_opt_explore_files_show_hidden = true && echo --hidden)" %arg(1)
|
||||
}
|
||||
}
|
||||
|
||||
# TODO: check out snippets
|
||||
# plug "alexherbo2/snippets.kak" config %{
|
||||
# }
|
||||
|
||||
# TODO: check out tagbar
|
||||
# plug "andreyorst/tagbar.kak" config %{
|
||||
# set-option global tagbar_sort false
|
||||
# set-option global tagbar_size 40
|
||||
# set-option global tagbar_display_anon false
|
||||
#} config %{
|
||||
# if you have wrap highlighter enamled in you configuration
|
||||
# # files it's better to turn it off for tagbar, using this hook:
|
||||
# hook global WinSetOption filetype=tagbar %{
|
||||
# remove-highlighter window/wrap
|
||||
# # you can also disable rendering whitespaces here, line numbers, and
|
||||
# # matching characters
|
||||
# }
|
||||
#}
|
||||
|
||||
# set-option global fzf_filesearch_cmd "fd '%s'"
|
||||
|
||||
# with inspiration from
|
||||
# https://github.com/Delapouite/dotfiles/blob/master/link/kak/kakrc
|
||||
set global modelinefmt %{
|
||||
%val{bufname} [%opt{filetype}]
|
||||
· %val{cursor_line}:%val{cursor_char_column}
|
||||
· {{context_info}} {{mode_info}}
|
||||
}
|
||||
|
||||
hook global BufWritePre .* %{
|
||||
lint
|
||||
}
|
||||
|
||||
# defines tabe and vsplit commands
|
||||
# def -file-completion -params 1 tabe %{ tmux-terminal-window edit %arg{1} }
|
||||
|
||||
# spaces instead tabs
|
||||
map global insert <tab> ' '
|
||||
|
||||
# ← system clipboard
|
||||
map global user y '<a-|>xsel --input --clipboard<ret>; :echo -color Information "copied selection to X11 clipboard"<ret>' -docstring 'yank from clipboard'
|
||||
map global user p '<a-!>xsel --output --clipboard<ret>' -docstring 'replace from clipboard'
|
||||
map global user P '!xsel --output --clipboard<ret>' -docstring 'print from clipboard'
|
||||
|
||||
# → system clipboard
|
||||
hook global NormalKey y|d|c %{ nop %sh{
|
||||
printf %s "$kak_reg_dquote" | xsel --input --clipboard
|
||||
}}
|
||||
|
||||
# editorconfig support
|
||||
hook global BufCreate .* %{editorconfig-load}
|
||||
source "%val{config}/personalization.kak"
|
||||
source "%val{config}/filetypes.kak"
|
||||
source "%val{config}/plugins.kak"
|
||||
|
|
75
dot.config/kak/personalization.kak
Normal file
75
dot.config/kak/personalization.kak
Normal file
|
@ -0,0 +1,75 @@
|
|||
colorscheme penumbra
|
||||
set-option global scrolloff 5,5
|
||||
set-option global incsearch true
|
||||
set-option global aligntab true
|
||||
set-option global ui_options terminal_assistant=dilbert
|
||||
set-option -add global ui_options terminal_change_colors=true
|
||||
set-option global grepcmd 'rg --with-filename --line-number --column'
|
||||
set-option global tabstop 2
|
||||
set-option global indentwidth 2
|
||||
|
||||
# hooks to show line numbers, whitespaces and matching brackets
|
||||
hook -group DefaultHighlights global WinCreate .* %{
|
||||
add-highlighter window/ show-whitespaces
|
||||
add-highlighter window/ show-matching
|
||||
add-highlighter window/ regex '\h+$' 0:default,red # highlight trailing whitepaces
|
||||
add-highlighter window/ dynregex '%reg{/}' 0:+u 1:+b
|
||||
set-face window Whitespace rgb:555555+b
|
||||
}
|
||||
|
||||
# with inspiration from
|
||||
# https://github.com/Delapouite/dotfiles/blob/master/link/kak/kakrc
|
||||
set global modelinefmt %{
|
||||
%val{bufname} [%opt{filetype}]
|
||||
· %val{cursor_line}:%val{cursor_char_column}
|
||||
· {{context_info}} {{mode_info}}
|
||||
}
|
||||
|
||||
# spaces instead tabs
|
||||
hook global InsertChar \t %{ try %{
|
||||
execute-keys -draft "h<a-h><a-k>\A\h+\z<ret><a-;>;%opt{indentwidth}@"
|
||||
}}
|
||||
hook global InsertDelete ' ' %{ try %{
|
||||
execute-keys -draft 'h<a-h><a-k>\A\h+\z<ret>i<space><esc><lt>'
|
||||
}}
|
||||
|
||||
# Bring back S-x (kind of)
|
||||
map global normal X 'Jx'
|
||||
|
||||
# editorconfig support
|
||||
hook global BufCreate .* %{editorconfig-load}
|
||||
|
||||
# kak-lsp
|
||||
eval %sh{kak-lsp --kakoune -s $kak_session} # Not needed if you load it with plug.kak.
|
||||
hook global WinSetOption filetype=(rust|html|css|svelte|javascript|typescript|c|cpp) %{
|
||||
lsp-enable-window
|
||||
lsp-auto-hover-enable
|
||||
lsp-auto-signature-help-enable
|
||||
set-option global lsp_hover_anchor true
|
||||
map global user l ': enter-user-mode lsp<ret>' -docstring 'lsp'
|
||||
}
|
||||
|
||||
# theme config for kak-lsp info box
|
||||
face global InfoDefault Information
|
||||
face global InfoBlock Information
|
||||
face global InfoBlockQuote Information
|
||||
face global InfoBullet Information
|
||||
face global InfoHeader Information
|
||||
face global InfoLink Information
|
||||
face global InfoLinkMono Information
|
||||
face global InfoMono Information
|
||||
face global InfoRule Information
|
||||
face global InfoDiagnosticError Information
|
||||
face global InfoDiagnosticHint Information
|
||||
face global InfoDiagnosticInformation Information
|
||||
face global InfoDiagnosticWarning Information
|
||||
|
||||
|
||||
# Show various characters
|
||||
# https://unicode-table.com
|
||||
add-highlighter -override global/U+2013 regex '–' '0:green+f'
|
||||
add-highlighter -override global/U+2014 regex '—' '0:green+bf'
|
||||
add-highlighter -override global/math-symbols regex '[−×]' '0:cyan+f'
|
||||
|
||||
# Show the Unicode value under the cursor.
|
||||
map -docstring 'Unicode' global user u ': echo -markup "{Information}U+%sh{printf ''%04x'' ""$kak_cursor_char_value""}"<ret>'
|
55
dot.config/kak/plugins.kak
Normal file
55
dot.config/kak/plugins.kak
Normal file
|
@ -0,0 +1,55 @@
|
|||
evaluate-commands %sh{
|
||||
plugins="$kak_config/plugins"
|
||||
mkdir -p "$plugins"
|
||||
[ ! -e "$plugins/plug.kak" ] && \
|
||||
git clone -q https://github.com/andreyorst/plug.kak.git "$plugins/plug.kak"
|
||||
printf "%s\n" "source '$plugins/plug.kak/rc/plug.kak'"
|
||||
}
|
||||
plug "andreyorst/plug.kak" noload
|
||||
|
||||
###########################################################
|
||||
# kakoune-buffers #
|
||||
# sets former b (word-back) to q and makes b a global key #
|
||||
# for the new buffers command. I don't use macros anyway. #
|
||||
###########################################################
|
||||
plug 'delapouite/kakoune-buffers' config %{
|
||||
map global normal ^ q
|
||||
map global normal <a-^> Q
|
||||
map global normal q b
|
||||
map global normal Q B
|
||||
map global normal <a-q> <a-b>
|
||||
map global normal <a-Q> <a-B>
|
||||
map global normal b ': enter-buffers-mode<ret>' -docstring 'buffers'
|
||||
map global normal B ': enter-user-mode -lock buffers<ret>' -docstring 'buffers (lock)'
|
||||
}
|
||||
|
||||
plug "andreyorst/kaktree" defer kaktree %{
|
||||
set-option global kaktree_double_click_duration '0.5'
|
||||
set-option global kaktree_indentation 1
|
||||
set-option global kaktree_dir_icon_open '▾ 🗁 '
|
||||
set-option global kaktree_dir_icon_close '▸ 🗀 '
|
||||
set-option global kaktree_file_icon '⠀⠀🖺'
|
||||
map global normal <F2> ': kaktree-toggle<ret>' -docstring 'toggle filetree'
|
||||
} config %{
|
||||
hook global WinSetOption filetype=kaktree %{
|
||||
remove-highlighter buffer/numbers
|
||||
remove-highlighter buffer/matching
|
||||
remove-highlighter buffer/wrap
|
||||
remove-highlighter buffer/show-whitespaces
|
||||
}
|
||||
kaktree-enable
|
||||
}
|
||||
|
||||
plug "ABuffSeagull/kakoune-vue"
|
||||
|
||||
plug "schemar/kak-jsts" config %{
|
||||
hook global WinSetOption filetype=(javascript|typescript|ecmascript) %{
|
||||
map window user l -docstring 'lint' ': lint<ret>'
|
||||
map window user f -docstring 'format' ': format-prettier<ret>'
|
||||
hook window BufWritePre .* %{
|
||||
evaluate-commands -no-hooks %{
|
||||
format-prettier
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
46
dot.profile
46
dot.profile
|
@ -1,45 +1,14 @@
|
|||
source /etc/profile
|
||||
|
||||
export EDITOR=kak
|
||||
export GOPATH=$HOME/src/go
|
||||
export CARGO_HOME=$HOME/.cargo
|
||||
export PATH=$HOME/.local/bin:$HOME/.yarn/bin:$HOME/.local/share/npm-global/bin:$GOPATH/bin:$CARGO_HOME/bin:$HOME/.gem/ruby/2.7.0/bin:$PATH
|
||||
export MANPATH=$HOME/.local/share/man:/usr/share/man:/usr/local/share/man
|
||||
|
||||
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||
export FREETYPE_PROPERTIES="truetype:interpreter-version=35 cff:darkening-parameters=500,300,1000,200,1500,100,2000,0 autofitter:warping=1"
|
||||
export INFINALITY_FT_FILTER_PARAMS='10 35 40 35 10'
|
||||
|
||||
export LD_LIBRARY_PATH=$HOME/.local/lib:$HOME/.local/lib/haxe:/lib
|
||||
|
||||
alias xi="sudo xbps-install"
|
||||
alias xq="xbps-query -Rs"
|
||||
alias xqi="xbps-query -RS"
|
||||
alias xql="xbps-query -s"
|
||||
alias xqf="xbps-query -f"
|
||||
alias xqo="xbps-query -o"
|
||||
alias xqre="xbps-query -R --regex -s"
|
||||
alias howto="howdoi -c"
|
||||
alias icat="kitty +kitten icat"
|
||||
alias wttr="curl wttr.in"
|
||||
# alias df="duf"
|
||||
# alias du="dust"
|
||||
alias md="glow -p"
|
||||
alias ls="lsd"
|
||||
alias l="lsd -lha"
|
||||
alias ll="lsd -lh"
|
||||
alias lt="lsd --tree"
|
||||
alias pp="bat"
|
||||
alias feh="feh --auto-rotate --draw-actions --draw-exif --draw-filename --draw-tinted"
|
||||
|
||||
# twtxt
|
||||
alias ttt="txtnish tweet"
|
||||
alias ttl="txtnish timeline"
|
||||
alias ttf="txtnish follow"
|
||||
alias ttu="txtnish unfollow"
|
||||
alias ttr="txtnish reply"
|
||||
|
||||
alias rip="curl -G -H 'Accept: text/plain' --url https://dontbeevil.rip/search --data-urlencode "
|
||||
|
||||
short_url () {
|
||||
curl -F "shorten=$1" https://0x0.st
|
||||
|
@ -53,8 +22,19 @@ if [[ "$TTY" == "/dev/tty"* ]]
|
|||
then
|
||||
setfont drdos8x14
|
||||
fi
|
||||
. "$HOME/.cargo/env"
|
||||
|
||||
if [ "$TTY" = /dev/tty1 -a $USER != root -a ! -e /tmp/.X0-lock ]
|
||||
export CARGO_HOME=$HOME/.cargo
|
||||
export PNPM_HOME="$HOME/.local/share/pnpm"
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||
|
||||
export PATH=$HOME/.local/bin:$HOME/.yarn/bin:$PNPM_HOME:$GOPATH/bin:$CARGO_HOME/bin:$PATH
|
||||
export MANPATH=$HOME/.local/share/man:/usr/share/man:/usr/local/share/man
|
||||
|
||||
TODO="$HOME/TODO/`date '+%Y%m%d'`.todo.txt"
|
||||
if [ -f "$TODO" ]
|
||||
then
|
||||
startx && clear && exit
|
||||
bat $TODO
|
||||
fi
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
bindkey -v
|
||||
source ~/src/pkg/zgen/zgen.zsh
|
||||
source ~/pkg/zgen/zgen.zsh
|
||||
source ~/.zsh/kitty.compl.zsh
|
||||
|
||||
if ! zgen saved; then
|
||||
|
@ -26,7 +26,7 @@ ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern)
|
|||
ZSH_HIGHLIGHT_PATTERNS+=('rm -fr*' 'fg=white,bold,bg=red')
|
||||
ZSH_HIGHLIGHT_PATTERNS+=('rm -rf*' 'fg=white,bold,bg=red')
|
||||
|
||||
PROJECT_PATHS=(~/src/wunderdog ~/src/koehr ~/src/pkg/)
|
||||
PROJECT_PATHS=(~/src/Spenoki ~/src/koehr ~/src/pkg/)
|
||||
|
||||
# The next line updates PATH for the Google Cloud SDK.
|
||||
if [ -f '/home/nk/src/pkg/google-cloud-sdk/path.zsh.inc' ]; then . '/home/nk/src/pkg/google-cloud-sdk/path.zsh.inc'; fi
|
||||
|
|
Loading…
Reference in a new issue