Compare commits
34 Commits
5310712394
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 5c052509c4 | |||
| 03a9ca5060 | |||
| 9f17fbcb37 | |||
| c42475c571 | |||
| 0d1702456e | |||
| 2914b79ded | |||
| 1c8d5284ca | |||
| 640379c105 | |||
| 379ae0f786 | |||
| fe08de4f9a | |||
| 2d0f0470a0 | |||
| 99ab844325 | |||
| 927f556aef | |||
| f0e19a1f71 | |||
| 608d9b8cf7 | |||
| adbe1641ec | |||
| 0509989016 | |||
| 49dae6be39 | |||
| 4c362b4a71 | |||
| 0a1940c966 | |||
| ddd7cb9fc4 | |||
| 749c89da0c | |||
| 1466a808c9 | |||
| a9f9a69887 | |||
| bd2c3c5303 | |||
| 98d8281d28 | |||
| 49e474caeb | |||
| 04e1114959 | |||
| 45e614e0c8 | |||
| c9d9c39900 | |||
| 180e3e18e1 | |||
| 63f288c103 | |||
| 2d1994a042 | |||
| b04ac36fb8 |
+18
-4
@@ -1,4 +1,4 @@
|
|||||||
#? Config file for btop v.1.4.6
|
#? Config file for btop v.1.4.7
|
||||||
|
|
||||||
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||||
@@ -14,6 +14,11 @@ truecolor = true
|
|||||||
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
||||||
force_tty = false
|
force_tty = false
|
||||||
|
|
||||||
|
#* Option to disable presets. Either the default preset, custom presets, or all presets.
|
||||||
|
#* "Off" All presets are enabled.
|
||||||
|
#* "Default" preset is disabled.#* "Custom" presets are disabled.#* "All" presets are disabled.
|
||||||
|
disable_presets = "Off"
|
||||||
|
|
||||||
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
||||||
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
||||||
#* Use whitespace " " as separator between different presets.
|
#* Use whitespace " " as separator between different presets.
|
||||||
@@ -24,6 +29,9 @@ presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:defaul
|
|||||||
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
||||||
vim_keys = false
|
vim_keys = false
|
||||||
|
|
||||||
|
#* Disable all mouse events.
|
||||||
|
disable_mouse = false
|
||||||
|
|
||||||
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
||||||
rounded_corners = true
|
rounded_corners = true
|
||||||
|
|
||||||
@@ -53,14 +61,14 @@ graph_symbol_net = "default"
|
|||||||
graph_symbol_proc = "default"
|
graph_symbol_proc = "default"
|
||||||
|
|
||||||
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
||||||
shown_boxes = "cpu mem net proc gpu0"
|
shown_boxes = "gpu0 cpu mem net proc"
|
||||||
|
|
||||||
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
||||||
update_ms = 2000
|
update_ms = 2000
|
||||||
|
|
||||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||||
proc_sorting = "cpu lazy"
|
proc_sorting = "memory"
|
||||||
|
|
||||||
#* Reverse sorting order, True or False.
|
#* Reverse sorting order, True or False.
|
||||||
proc_reversed = false
|
proc_reversed = false
|
||||||
@@ -92,6 +100,9 @@ proc_left = false
|
|||||||
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
||||||
proc_filter_kernel = false
|
proc_filter_kernel = false
|
||||||
|
|
||||||
|
#* Should the process list follow the selected process when detailed view is open.
|
||||||
|
proc_follow_detailed = true
|
||||||
|
|
||||||
#* In tree-view, always accumulate child process resources in the parent process.
|
#* In tree-view, always accumulate child process resources in the parent process.
|
||||||
proc_aggregate = false
|
proc_aggregate = false
|
||||||
|
|
||||||
@@ -208,6 +219,9 @@ io_graph_combined = false
|
|||||||
#* Example: "/mnt/media:100 /:20 /boot:1".
|
#* Example: "/mnt/media:100 /:20 /boot:1".
|
||||||
io_graph_speeds = ""
|
io_graph_speeds = ""
|
||||||
|
|
||||||
|
#* Swap the positions of the upload and download speed graphs. When true, upload will be on top.
|
||||||
|
swap_upload_download = false
|
||||||
|
|
||||||
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
||||||
net_download = 100
|
net_download = 100
|
||||||
|
|
||||||
@@ -250,7 +264,7 @@ rsmi_measure_pcie_speeds = true
|
|||||||
#* Horizontally mirror the GPU graph.
|
#* Horizontally mirror the GPU graph.
|
||||||
gpu_mirror_graph = true
|
gpu_mirror_graph = true
|
||||||
|
|
||||||
#* Set which GPU vendors to show. Available values are "nvidia amd intel"
|
#* Set which GPU vendors to show. Available values are "nvidia amd intel apple"
|
||||||
shown_gpus = "nvidia amd intel"
|
shown_gpus = "nvidia amd intel"
|
||||||
|
|
||||||
#* Custom gpu0 model name, empty string to disable.
|
#* Custom gpu0 model name, empty string to disable.
|
||||||
|
|||||||
+3
-44
@@ -32,6 +32,9 @@ dpi-aware=yes
|
|||||||
# selection-target=primary
|
# selection-target=primary
|
||||||
# workers=<number of logical CPUs>
|
# workers=<number of logical CPUs>
|
||||||
|
|
||||||
|
[main]
|
||||||
|
include=/usr/share/foot/themes/gruvbox
|
||||||
|
|
||||||
[environment]
|
[environment]
|
||||||
SYSTEMD_EDITOR=/usr/bin/nvim
|
SYSTEMD_EDITOR=/usr/bin/nvim
|
||||||
EDITOR=/usr/bin/nvim
|
EDITOR=/usr/bin/nvim
|
||||||
@@ -68,50 +71,6 @@ lines=100000
|
|||||||
# hide-when-typing=no
|
# hide-when-typing=no
|
||||||
# alternate-scroll-mode=yes
|
# alternate-scroll-mode=yes
|
||||||
|
|
||||||
[colors]
|
|
||||||
alpha=0.9 # Adjust alpha to change transparency level
|
|
||||||
foreground=cdd6f4
|
|
||||||
background=1e1e2e
|
|
||||||
cursor=11111b f5e0dc
|
|
||||||
|
|
||||||
regular0=45475a
|
|
||||||
regular1=f38ba8
|
|
||||||
regular2=a6e3a1
|
|
||||||
regular3=f9e2af
|
|
||||||
regular4=89b4fa
|
|
||||||
regular5=f5c2e7
|
|
||||||
regular6=94e2d5
|
|
||||||
regular7=bac2de
|
|
||||||
|
|
||||||
bright0=585b70
|
|
||||||
bright1=f38ba8
|
|
||||||
bright2=a6e3a1
|
|
||||||
bright3=f9e2af
|
|
||||||
bright4=89b4fa
|
|
||||||
bright5=f5c2e7
|
|
||||||
bright6=94e2d5
|
|
||||||
bright7=a6adc8
|
|
||||||
|
|
||||||
## dimmed colors (see foot.ini(5) man page)
|
|
||||||
# dim0=<not set>
|
|
||||||
# ...
|
|
||||||
# dim7=<not-set>
|
|
||||||
|
|
||||||
## The remaining 256-color palette
|
|
||||||
16=fab387
|
|
||||||
17=f5e0dc
|
|
||||||
# ...
|
|
||||||
# 255 = <256-color palette #255>
|
|
||||||
|
|
||||||
# Misc colors
|
|
||||||
selection-foreground=cdd6f4
|
|
||||||
selection-background=414356
|
|
||||||
jump-labels=11111b fab387
|
|
||||||
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
|
|
||||||
search-box-no-match=11111b f38ba8
|
|
||||||
search-box-match=cdd6f4 313244
|
|
||||||
urls=89b4fa
|
|
||||||
|
|
||||||
[csd]
|
[csd]
|
||||||
# preferred=server
|
# preferred=server
|
||||||
size=0
|
size=0
|
||||||
|
|||||||
@@ -1,156 +0,0 @@
|
|||||||
# Syntax highlighting
|
|
||||||
# -------------------
|
|
||||||
"attribute" = "yellow"
|
|
||||||
|
|
||||||
"type" = "yellow"
|
|
||||||
"type.enum.variant" = "teal"
|
|
||||||
|
|
||||||
"constructor" = "sapphire"
|
|
||||||
|
|
||||||
"constant" = "peach"
|
|
||||||
"constant.character" = "teal"
|
|
||||||
"constant.character.escape" = "pink"
|
|
||||||
|
|
||||||
"string" = "green"
|
|
||||||
"string.regexp" = "pink"
|
|
||||||
"string.special" = "blue"
|
|
||||||
"string.special.symbol" = "red"
|
|
||||||
|
|
||||||
"comment" = { fg = "overlay2", modifiers = ["italic"] }
|
|
||||||
|
|
||||||
"variable" = "text"
|
|
||||||
"variable.parameter" = { fg = "maroon", modifiers = ["italic"] }
|
|
||||||
"variable.builtin" = "red"
|
|
||||||
"variable.other.member" = "teal"
|
|
||||||
|
|
||||||
"label" = "sapphire" # used for lifetimes
|
|
||||||
|
|
||||||
"punctuation" = "overlay2"
|
|
||||||
"punctuation.special" = "sky"
|
|
||||||
|
|
||||||
"keyword" = "mauve"
|
|
||||||
"keyword.control.conditional" = { fg = "mauve", modifiers = ["italic"] }
|
|
||||||
|
|
||||||
"operator" = "sky"
|
|
||||||
|
|
||||||
"function" = "blue"
|
|
||||||
"function.macro" = "mauve"
|
|
||||||
|
|
||||||
"tag" = "blue"
|
|
||||||
|
|
||||||
"namespace" = { fg = "yellow", modifiers = ["italic"] }
|
|
||||||
|
|
||||||
"special" = "blue" # fuzzy highlight
|
|
||||||
|
|
||||||
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
|
|
||||||
"markup.heading.1" = "lavender"
|
|
||||||
"markup.heading.2" = "mauve"
|
|
||||||
"markup.heading.3" = "green"
|
|
||||||
"markup.heading.4" = "yellow"
|
|
||||||
"markup.heading.5" = "pink"
|
|
||||||
"markup.heading.6" = "teal"
|
|
||||||
"markup.list" = "mauve"
|
|
||||||
"markup.bold" = { modifiers = ["bold"] }
|
|
||||||
"markup.italic" = { modifiers = ["italic"] }
|
|
||||||
"markup.link.url" = { fg = "blue", modifiers = ["italic", "underlined"] }
|
|
||||||
"markup.link.text" = "blue"
|
|
||||||
"markup.raw" = "flamingo"
|
|
||||||
|
|
||||||
"diff.plus" = "green"
|
|
||||||
"diff.minus" = "red"
|
|
||||||
"diff.delta" = "blue"
|
|
||||||
|
|
||||||
# User Interface
|
|
||||||
# --------------
|
|
||||||
"ui.background" = { fg = "text", bg = "base" }
|
|
||||||
|
|
||||||
"ui.linenr" = { fg = "surface1" }
|
|
||||||
"ui.linenr.selected" = { fg = "lavender" }
|
|
||||||
|
|
||||||
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
|
|
||||||
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
|
|
||||||
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
|
|
||||||
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
|
|
||||||
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.popup" = { fg = "text", bg = "surface0" }
|
|
||||||
"ui.window" = { fg = "crust" }
|
|
||||||
"ui.help" = { fg = "overlay2", bg = "surface0" }
|
|
||||||
|
|
||||||
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
|
|
||||||
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
|
|
||||||
"ui.bufferline.background" = { bg = "crust" }
|
|
||||||
|
|
||||||
"ui.text" = "text"
|
|
||||||
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
|
|
||||||
"ui.text.inactive" = { fg = "overlay1" }
|
|
||||||
|
|
||||||
"ui.virtual" = "overlay0"
|
|
||||||
"ui.virtual.ruler" = { bg = "surface0" }
|
|
||||||
"ui.virtual.indent-guide" = "surface0"
|
|
||||||
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
|
|
||||||
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.selection" = { bg = "surface1" }
|
|
||||||
|
|
||||||
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
|
|
||||||
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
|
|
||||||
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
|
|
||||||
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
|
|
||||||
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
|
|
||||||
|
|
||||||
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
|
|
||||||
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
|
|
||||||
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
|
|
||||||
|
|
||||||
"ui.cursorline.primary" = { bg = "cursorline" }
|
|
||||||
|
|
||||||
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.menu" = { fg = "overlay2", bg = "surface0" }
|
|
||||||
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
|
|
||||||
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
|
|
||||||
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
|
|
||||||
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
|
|
||||||
|
|
||||||
error = "red"
|
|
||||||
warning = "yellow"
|
|
||||||
info = "sky"
|
|
||||||
hint = "teal"
|
|
||||||
|
|
||||||
[palette]
|
|
||||||
rosewater = "#f2d5cf"
|
|
||||||
flamingo = "#eebebe"
|
|
||||||
pink = "#f4b8e4"
|
|
||||||
mauve = "#ca9ee6"
|
|
||||||
red = "#e78284"
|
|
||||||
maroon = "#ea999c"
|
|
||||||
peach = "#ef9f76"
|
|
||||||
yellow = "#e5c890"
|
|
||||||
green = "#a6d189"
|
|
||||||
teal = "#81c8be"
|
|
||||||
sky = "#99d1db"
|
|
||||||
sapphire = "#85c1dc"
|
|
||||||
blue = "#8caaee"
|
|
||||||
lavender = "#babbf1"
|
|
||||||
text = "#c6d0f5"
|
|
||||||
subtext1 = "#b5bfe2"
|
|
||||||
subtext0 = "#a5adce"
|
|
||||||
overlay2 = "#949cbb"
|
|
||||||
overlay1 = "#838ba7"
|
|
||||||
overlay0 = "#737994"
|
|
||||||
surface2 = "#626880"
|
|
||||||
surface1 = "#51576d"
|
|
||||||
surface0 = "#414559"
|
|
||||||
base = "#303446"
|
|
||||||
mantle = "#292c3c"
|
|
||||||
crust = "#232634"
|
|
||||||
|
|
||||||
cursorline = "#3b3f52"
|
|
||||||
secondary_cursor = "#b8a5a6"
|
|
||||||
secondary_cursor_normal = "#9192be"
|
|
||||||
secondary_cursor_insert = "#83a275"
|
|
||||||
@@ -1,156 +0,0 @@
|
|||||||
# Syntax highlighting
|
|
||||||
# -------------------
|
|
||||||
"attribute" = "yellow"
|
|
||||||
|
|
||||||
"type" = "yellow"
|
|
||||||
"type.enum.variant" = "teal"
|
|
||||||
|
|
||||||
"constructor" = "sapphire"
|
|
||||||
|
|
||||||
"constant" = "peach"
|
|
||||||
"constant.character" = "teal"
|
|
||||||
"constant.character.escape" = "pink"
|
|
||||||
|
|
||||||
"string" = "green"
|
|
||||||
"string.regexp" = "pink"
|
|
||||||
"string.special" = "blue"
|
|
||||||
"string.special.symbol" = "red"
|
|
||||||
|
|
||||||
"comment" = { fg = "overlay2", modifiers = ["italic"] }
|
|
||||||
|
|
||||||
"variable" = "text"
|
|
||||||
"variable.parameter" = { fg = "maroon", modifiers = ["italic"] }
|
|
||||||
"variable.builtin" = "red"
|
|
||||||
"variable.other.member" = "teal"
|
|
||||||
|
|
||||||
"label" = "sapphire" # used for lifetimes
|
|
||||||
|
|
||||||
"punctuation" = "overlay2"
|
|
||||||
"punctuation.special" = "sky"
|
|
||||||
|
|
||||||
"keyword" = "mauve"
|
|
||||||
"keyword.control.conditional" = { fg = "mauve", modifiers = ["italic"] }
|
|
||||||
|
|
||||||
"operator" = "sky"
|
|
||||||
|
|
||||||
"function" = "blue"
|
|
||||||
"function.macro" = "mauve"
|
|
||||||
|
|
||||||
"tag" = "blue"
|
|
||||||
|
|
||||||
"namespace" = { fg = "yellow", modifiers = ["italic"] }
|
|
||||||
|
|
||||||
"special" = "blue" # fuzzy highlight
|
|
||||||
|
|
||||||
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
|
|
||||||
"markup.heading.1" = "lavender"
|
|
||||||
"markup.heading.2" = "mauve"
|
|
||||||
"markup.heading.3" = "green"
|
|
||||||
"markup.heading.4" = "yellow"
|
|
||||||
"markup.heading.5" = "pink"
|
|
||||||
"markup.heading.6" = "teal"
|
|
||||||
"markup.list" = "mauve"
|
|
||||||
"markup.bold" = { modifiers = ["bold"] }
|
|
||||||
"markup.italic" = { modifiers = ["italic"] }
|
|
||||||
"markup.link.url" = { fg = "blue", modifiers = ["italic", "underlined"] }
|
|
||||||
"markup.link.text" = "blue"
|
|
||||||
"markup.raw" = "flamingo"
|
|
||||||
|
|
||||||
"diff.plus" = "green"
|
|
||||||
"diff.minus" = "red"
|
|
||||||
"diff.delta" = "blue"
|
|
||||||
|
|
||||||
# User Interface
|
|
||||||
# --------------
|
|
||||||
"ui.background" = { fg = "text", bg = "base" }
|
|
||||||
|
|
||||||
"ui.linenr" = { fg = "surface1" }
|
|
||||||
"ui.linenr.selected" = { fg = "lavender" }
|
|
||||||
|
|
||||||
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
|
|
||||||
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
|
|
||||||
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
|
|
||||||
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
|
|
||||||
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.popup" = { fg = "text", bg = "surface0" }
|
|
||||||
"ui.window" = { fg = "crust" }
|
|
||||||
"ui.help" = { fg = "overlay2", bg = "surface0" }
|
|
||||||
|
|
||||||
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
|
|
||||||
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
|
|
||||||
"ui.bufferline.background" = { bg = "crust" }
|
|
||||||
|
|
||||||
"ui.text" = "text"
|
|
||||||
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
|
|
||||||
"ui.text.inactive" = { fg = "overlay1" }
|
|
||||||
|
|
||||||
"ui.virtual" = "overlay0"
|
|
||||||
"ui.virtual.ruler" = { bg = "surface0" }
|
|
||||||
"ui.virtual.indent-guide" = "surface0"
|
|
||||||
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
|
|
||||||
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.selection" = { bg = "surface1" }
|
|
||||||
|
|
||||||
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
|
|
||||||
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
|
|
||||||
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
|
|
||||||
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
|
|
||||||
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
|
|
||||||
|
|
||||||
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
|
|
||||||
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
|
|
||||||
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
|
|
||||||
|
|
||||||
"ui.cursorline.primary" = { bg = "cursorline" }
|
|
||||||
|
|
||||||
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.menu" = { fg = "overlay2", bg = "surface0" }
|
|
||||||
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
|
|
||||||
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
|
|
||||||
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
|
|
||||||
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
|
|
||||||
|
|
||||||
error = "red"
|
|
||||||
warning = "yellow"
|
|
||||||
info = "sky"
|
|
||||||
hint = "teal"
|
|
||||||
|
|
||||||
[palette]
|
|
||||||
rosewater = "#dc8a78"
|
|
||||||
flamingo = "#dd7878"
|
|
||||||
pink = "#ea76cb"
|
|
||||||
mauve = "#8839ef"
|
|
||||||
red = "#d20f39"
|
|
||||||
maroon = "#e64553"
|
|
||||||
peach = "#fe640b"
|
|
||||||
yellow = "#df8e1d"
|
|
||||||
green = "#40a02b"
|
|
||||||
teal = "#179299"
|
|
||||||
sky = "#04a5e5"
|
|
||||||
sapphire = "#209fb5"
|
|
||||||
blue = "#1e66f5"
|
|
||||||
lavender = "#7287fd"
|
|
||||||
text = "#4c4f69"
|
|
||||||
subtext1 = "#5c5f77"
|
|
||||||
subtext0 = "#6c6f85"
|
|
||||||
overlay2 = "#7c7f93"
|
|
||||||
overlay1 = "#8c8fa1"
|
|
||||||
overlay0 = "#9ca0b0"
|
|
||||||
surface2 = "#acb0be"
|
|
||||||
surface1 = "#bcc0cc"
|
|
||||||
surface0 = "#ccd0da"
|
|
||||||
base = "#eff1f5"
|
|
||||||
mantle = "#e6e9ef"
|
|
||||||
crust = "#dce0e8"
|
|
||||||
|
|
||||||
cursorline = "#e8ecf1"
|
|
||||||
secondary_cursor = "#e1a99d"
|
|
||||||
secondary_cursor_normal = "#97a7fb"
|
|
||||||
secondary_cursor_insert = "#74b867"
|
|
||||||
@@ -1,159 +0,0 @@
|
|||||||
# Syntax highlighting
|
|
||||||
# -------------------
|
|
||||||
"attribute" = "yellow"
|
|
||||||
|
|
||||||
"type" = "yellow"
|
|
||||||
"type.enum.variant" = "teal"
|
|
||||||
|
|
||||||
"constructor" = "sapphire"
|
|
||||||
|
|
||||||
"constant" = "peach"
|
|
||||||
"constant.character" = "teal"
|
|
||||||
"constant.character.escape" = "pink"
|
|
||||||
|
|
||||||
"string" = "green"
|
|
||||||
"string.regexp" = "pink"
|
|
||||||
"string.special" = "blue"
|
|
||||||
"string.special.symbol" = "red"
|
|
||||||
|
|
||||||
"comment" = { fg = "overlay2", modifiers = ["italic"] }
|
|
||||||
|
|
||||||
"variable" = "text"
|
|
||||||
"variable.parameter" = { fg = "maroon", modifiers = ["italic"] }
|
|
||||||
"variable.builtin" = "red"
|
|
||||||
"variable.other.member" = "teal"
|
|
||||||
|
|
||||||
"label" = "sapphire" # used for lifetimes
|
|
||||||
|
|
||||||
"punctuation" = "overlay2"
|
|
||||||
"punctuation.special" = "sky"
|
|
||||||
|
|
||||||
"keyword" = "mauve"
|
|
||||||
"keyword.control.conditional" = { fg = "mauve", modifiers = ["italic"] }
|
|
||||||
|
|
||||||
"operator" = "sky"
|
|
||||||
|
|
||||||
"function" = "blue"
|
|
||||||
"function.macro" = "mauve"
|
|
||||||
|
|
||||||
"tag" = "blue"
|
|
||||||
|
|
||||||
"namespace" = { fg = "yellow", modifiers = ["italic"] }
|
|
||||||
|
|
||||||
"special" = "blue" # fuzzy highlight
|
|
||||||
|
|
||||||
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
|
|
||||||
"markup.heading.1" = "lavender"
|
|
||||||
"markup.heading.2" = "mauve"
|
|
||||||
"markup.heading.3" = "green"
|
|
||||||
"markup.heading.4" = "yellow"
|
|
||||||
"markup.heading.5" = "pink"
|
|
||||||
"markup.heading.6" = "teal"
|
|
||||||
"markup.list" = "mauve"
|
|
||||||
"markup.bold" = { modifiers = ["bold"] }
|
|
||||||
"markup.italic" = { modifiers = ["italic"] }
|
|
||||||
"markup.link.url" = { fg = "blue", modifiers = ["italic", "underlined"] }
|
|
||||||
"markup.link.text" = "blue"
|
|
||||||
"markup.raw" = "flamingo"
|
|
||||||
|
|
||||||
"diff.plus" = "green"
|
|
||||||
"diff.minus" = "red"
|
|
||||||
"diff.delta" = "blue"
|
|
||||||
|
|
||||||
# User Interface
|
|
||||||
# --------------
|
|
||||||
|
|
||||||
# fix issue with background color getting messed up in tmux...
|
|
||||||
"ui.background" = { }
|
|
||||||
# "ui.background" = { fg = "text", bg = "base" }
|
|
||||||
|
|
||||||
"ui.linenr" = { fg = "surface1" }
|
|
||||||
"ui.linenr.selected" = { fg = "lavender" }
|
|
||||||
|
|
||||||
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
|
|
||||||
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
|
|
||||||
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
|
|
||||||
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
|
|
||||||
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.popup" = { fg = "text", bg = "surface0" }
|
|
||||||
"ui.window" = { fg = "crust" }
|
|
||||||
"ui.help" = { fg = "overlay2", bg = "surface0" }
|
|
||||||
|
|
||||||
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
|
|
||||||
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
|
|
||||||
"ui.bufferline.background" = { bg = "crust" }
|
|
||||||
|
|
||||||
"ui.text" = "text"
|
|
||||||
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
|
|
||||||
"ui.text.inactive" = { fg = "overlay1" }
|
|
||||||
|
|
||||||
"ui.virtual" = "overlay0"
|
|
||||||
"ui.virtual.ruler" = { bg = "surface0" }
|
|
||||||
"ui.virtual.indent-guide" = "surface0"
|
|
||||||
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
|
|
||||||
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.selection" = { bg = "surface1" }
|
|
||||||
|
|
||||||
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
|
|
||||||
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
|
|
||||||
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
|
|
||||||
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
|
|
||||||
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
|
|
||||||
|
|
||||||
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
|
|
||||||
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
|
|
||||||
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
|
|
||||||
|
|
||||||
"ui.cursorline.primary" = { bg = "cursorline" }
|
|
||||||
|
|
||||||
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.menu" = { fg = "overlay2", bg = "surface0" }
|
|
||||||
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
|
|
||||||
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
|
|
||||||
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
|
|
||||||
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
|
|
||||||
|
|
||||||
error = "red"
|
|
||||||
warning = "yellow"
|
|
||||||
info = "sky"
|
|
||||||
hint = "teal"
|
|
||||||
|
|
||||||
[palette]
|
|
||||||
rosewater = "#f4dbd6"
|
|
||||||
flamingo = "#f0c6c6"
|
|
||||||
pink = "#f5bde6"
|
|
||||||
mauve = "#c6a0f6"
|
|
||||||
red = "#ed8796"
|
|
||||||
maroon = "#ee99a0"
|
|
||||||
peach = "#f5a97f"
|
|
||||||
yellow = "#eed49f"
|
|
||||||
green = "#a6da95"
|
|
||||||
teal = "#8bd5ca"
|
|
||||||
sky = "#91d7e3"
|
|
||||||
sapphire = "#7dc4e4"
|
|
||||||
blue = "#8aadf4"
|
|
||||||
lavender = "#b7bdf8"
|
|
||||||
text = "#cad3f5"
|
|
||||||
subtext1 = "#b8c0e0"
|
|
||||||
subtext0 = "#a5adcb"
|
|
||||||
overlay2 = "#939ab7"
|
|
||||||
overlay1 = "#8087a2"
|
|
||||||
overlay0 = "#6e738d"
|
|
||||||
surface2 = "#5b6078"
|
|
||||||
surface1 = "#494d64"
|
|
||||||
surface0 = "#363a4f"
|
|
||||||
base = "#24273a"
|
|
||||||
mantle = "#1e2030"
|
|
||||||
crust = "#181926"
|
|
||||||
|
|
||||||
cursorline = "#303347"
|
|
||||||
secondary_cursor = "#b6a6a7"
|
|
||||||
secondary_cursor_normal = "#8b91bf"
|
|
||||||
secondary_cursor_insert = "#80a57a"
|
|
||||||
@@ -1,156 +0,0 @@
|
|||||||
# Syntax highlighting
|
|
||||||
# -------------------
|
|
||||||
"attribute" = "yellow"
|
|
||||||
|
|
||||||
"type" = "yellow"
|
|
||||||
"type.enum.variant" = "teal"
|
|
||||||
|
|
||||||
"constructor" = "sapphire"
|
|
||||||
|
|
||||||
"constant" = "peach"
|
|
||||||
"constant.character" = "teal"
|
|
||||||
"constant.character.escape" = "pink"
|
|
||||||
|
|
||||||
"string" = "green"
|
|
||||||
"string.regexp" = "pink"
|
|
||||||
"string.special" = "blue"
|
|
||||||
"string.special.symbol" = "red"
|
|
||||||
|
|
||||||
"comment" = { fg = "overlay2", modifiers = ["italic"] }
|
|
||||||
|
|
||||||
"variable" = "text"
|
|
||||||
"variable.parameter" = { fg = "maroon", modifiers = ["italic"] }
|
|
||||||
"variable.builtin" = "red"
|
|
||||||
"variable.other.member" = "teal"
|
|
||||||
|
|
||||||
"label" = "sapphire" # used for lifetimes
|
|
||||||
|
|
||||||
"punctuation" = "overlay2"
|
|
||||||
"punctuation.special" = "sky"
|
|
||||||
|
|
||||||
"keyword" = "mauve"
|
|
||||||
"keyword.control.conditional" = { fg = "mauve", modifiers = ["italic"] }
|
|
||||||
|
|
||||||
"operator" = "sky"
|
|
||||||
|
|
||||||
"function" = "blue"
|
|
||||||
"function.macro" = "mauve"
|
|
||||||
|
|
||||||
"tag" = "blue"
|
|
||||||
|
|
||||||
"namespace" = { fg = "yellow", modifiers = ["italic"] }
|
|
||||||
|
|
||||||
"special" = "blue" # fuzzy highlight
|
|
||||||
|
|
||||||
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
|
|
||||||
"markup.heading.1" = "lavender"
|
|
||||||
"markup.heading.2" = "mauve"
|
|
||||||
"markup.heading.3" = "green"
|
|
||||||
"markup.heading.4" = "yellow"
|
|
||||||
"markup.heading.5" = "pink"
|
|
||||||
"markup.heading.6" = "teal"
|
|
||||||
"markup.list" = "mauve"
|
|
||||||
"markup.bold" = { modifiers = ["bold"] }
|
|
||||||
"markup.italic" = { modifiers = ["italic"] }
|
|
||||||
"markup.link.url" = { fg = "blue", modifiers = ["italic", "underlined"] }
|
|
||||||
"markup.link.text" = "blue"
|
|
||||||
"markup.raw" = "flamingo"
|
|
||||||
|
|
||||||
"diff.plus" = "green"
|
|
||||||
"diff.minus" = "red"
|
|
||||||
"diff.delta" = "blue"
|
|
||||||
|
|
||||||
# User Interface
|
|
||||||
# --------------
|
|
||||||
"ui.background" = { fg = "text", bg = "base" }
|
|
||||||
|
|
||||||
"ui.linenr" = { fg = "surface1" }
|
|
||||||
"ui.linenr.selected" = { fg = "lavender" }
|
|
||||||
|
|
||||||
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
|
|
||||||
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
|
|
||||||
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
|
|
||||||
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
|
|
||||||
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.popup" = { fg = "text", bg = "surface0" }
|
|
||||||
"ui.window" = { fg = "crust" }
|
|
||||||
"ui.help" = { fg = "overlay2", bg = "surface0" }
|
|
||||||
|
|
||||||
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
|
|
||||||
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
|
|
||||||
"ui.bufferline.background" = { bg = "crust" }
|
|
||||||
|
|
||||||
"ui.text" = "text"
|
|
||||||
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
|
|
||||||
"ui.text.inactive" = { fg = "overlay1" }
|
|
||||||
|
|
||||||
"ui.virtual" = "overlay0"
|
|
||||||
"ui.virtual.ruler" = { bg = "surface0" }
|
|
||||||
"ui.virtual.indent-guide" = "surface0"
|
|
||||||
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
|
|
||||||
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.selection" = { bg = "surface1" }
|
|
||||||
|
|
||||||
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
|
|
||||||
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
|
|
||||||
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
|
|
||||||
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
|
|
||||||
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
|
|
||||||
|
|
||||||
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
|
|
||||||
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
|
|
||||||
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
|
|
||||||
|
|
||||||
"ui.cursorline.primary" = { bg = "cursorline" }
|
|
||||||
|
|
||||||
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.menu" = { fg = "overlay2", bg = "surface0" }
|
|
||||||
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
|
|
||||||
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
|
|
||||||
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
|
|
||||||
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
|
|
||||||
|
|
||||||
error = "red"
|
|
||||||
warning = "yellow"
|
|
||||||
info = "sky"
|
|
||||||
hint = "teal"
|
|
||||||
|
|
||||||
[palette]
|
|
||||||
rosewater = "#f5e0dc"
|
|
||||||
flamingo = "#f2cdcd"
|
|
||||||
pink = "#f5c2e7"
|
|
||||||
mauve = "#cba6f7"
|
|
||||||
red = "#f38ba8"
|
|
||||||
maroon = "#eba0ac"
|
|
||||||
peach = "#fab387"
|
|
||||||
yellow = "#f9e2af"
|
|
||||||
green = "#a6e3a1"
|
|
||||||
teal = "#94e2d5"
|
|
||||||
sky = "#89dceb"
|
|
||||||
sapphire = "#74c7ec"
|
|
||||||
blue = "#89b4fa"
|
|
||||||
lavender = "#b4befe"
|
|
||||||
text = "#cdd6f4"
|
|
||||||
subtext1 = "#bac2de"
|
|
||||||
subtext0 = "#a6adc8"
|
|
||||||
overlay2 = "#9399b2"
|
|
||||||
overlay1 = "#7f849c"
|
|
||||||
overlay0 = "#6c7086"
|
|
||||||
surface2 = "#585b70"
|
|
||||||
surface1 = "#45475a"
|
|
||||||
surface0 = "#313244"
|
|
||||||
base = "#1e1e2e"
|
|
||||||
mantle = "#181825"
|
|
||||||
crust = "#11111b"
|
|
||||||
|
|
||||||
cursorline = "#2a2b3c"
|
|
||||||
secondary_cursor = "#b5a6a8"
|
|
||||||
secondary_cursor_normal = "#878ec0"
|
|
||||||
secondary_cursor_insert = "#7ea87f"
|
|
||||||
@@ -1,156 +0,0 @@
|
|||||||
# Syntax highlighting
|
|
||||||
# -------------------
|
|
||||||
"attribute" = "yellow"
|
|
||||||
|
|
||||||
"type" = "yellow"
|
|
||||||
"type.enum.variant" = "teal"
|
|
||||||
|
|
||||||
"constructor" = "sapphire"
|
|
||||||
|
|
||||||
"constant" = "peach"
|
|
||||||
"constant.character" = "teal"
|
|
||||||
"constant.character.escape" = "pink"
|
|
||||||
|
|
||||||
"string" = "green"
|
|
||||||
"string.regexp" = "pink"
|
|
||||||
"string.special" = "blue"
|
|
||||||
"string.special.symbol" = "red"
|
|
||||||
|
|
||||||
"comment" = { fg = "overlay2" }
|
|
||||||
|
|
||||||
"variable" = "text"
|
|
||||||
"variable.parameter" = { fg = "maroon" }
|
|
||||||
"variable.builtin" = "red"
|
|
||||||
"variable.other.member" = "teal"
|
|
||||||
|
|
||||||
"label" = "sapphire" # used for lifetimes
|
|
||||||
|
|
||||||
"punctuation" = "overlay2"
|
|
||||||
"punctuation.special" = "sky"
|
|
||||||
|
|
||||||
"keyword" = "mauve"
|
|
||||||
"keyword.control.conditional" = { fg = "mauve" }
|
|
||||||
|
|
||||||
"operator" = "sky"
|
|
||||||
|
|
||||||
"function" = "blue"
|
|
||||||
"function.macro" = "mauve"
|
|
||||||
|
|
||||||
"tag" = "blue"
|
|
||||||
|
|
||||||
"namespace" = { fg = "yellow" }
|
|
||||||
|
|
||||||
"special" = "blue" # fuzzy highlight
|
|
||||||
|
|
||||||
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
|
|
||||||
"markup.heading.1" = "lavender"
|
|
||||||
"markup.heading.2" = "mauve"
|
|
||||||
"markup.heading.3" = "green"
|
|
||||||
"markup.heading.4" = "yellow"
|
|
||||||
"markup.heading.5" = "pink"
|
|
||||||
"markup.heading.6" = "teal"
|
|
||||||
"markup.list" = "mauve"
|
|
||||||
"markup.bold" = { modifiers = ["bold"] }
|
|
||||||
"markup.italic" = { modifiers = ["italic"] }
|
|
||||||
"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
|
|
||||||
"markup.link.text" = "blue"
|
|
||||||
"markup.raw" = "flamingo"
|
|
||||||
|
|
||||||
"diff.plus" = "green"
|
|
||||||
"diff.minus" = "red"
|
|
||||||
"diff.delta" = "blue"
|
|
||||||
|
|
||||||
# User Interface
|
|
||||||
# --------------
|
|
||||||
"ui.background" = { fg = "text", bg = "base" }
|
|
||||||
|
|
||||||
"ui.linenr" = { fg = "surface1" }
|
|
||||||
"ui.linenr.selected" = { fg = "lavender" }
|
|
||||||
|
|
||||||
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
|
|
||||||
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
|
|
||||||
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
|
|
||||||
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
|
|
||||||
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.popup" = { fg = "text", bg = "surface0" }
|
|
||||||
"ui.window" = { fg = "crust" }
|
|
||||||
"ui.help" = { fg = "overlay2", bg = "surface0" }
|
|
||||||
|
|
||||||
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
|
|
||||||
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
|
|
||||||
"ui.bufferline.background" = { bg = "crust" }
|
|
||||||
|
|
||||||
"ui.text" = "text"
|
|
||||||
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
|
|
||||||
"ui.text.inactive" = { fg = "overlay1" }
|
|
||||||
|
|
||||||
"ui.virtual" = "overlay0"
|
|
||||||
"ui.virtual.ruler" = { bg = "surface0" }
|
|
||||||
"ui.virtual.indent-guide" = "surface0"
|
|
||||||
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
|
|
||||||
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.selection" = { bg = "surface1" }
|
|
||||||
|
|
||||||
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
|
|
||||||
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
|
|
||||||
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
|
|
||||||
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
|
|
||||||
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
|
|
||||||
|
|
||||||
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
|
|
||||||
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
|
|
||||||
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
|
|
||||||
|
|
||||||
"ui.cursorline.primary" = { bg = "cursorline" }
|
|
||||||
|
|
||||||
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.menu" = { fg = "overlay2", bg = "surface0" }
|
|
||||||
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
|
|
||||||
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
|
|
||||||
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
|
|
||||||
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
|
|
||||||
|
|
||||||
error = "red"
|
|
||||||
warning = "yellow"
|
|
||||||
info = "sky"
|
|
||||||
hint = "teal"
|
|
||||||
|
|
||||||
[palette]
|
|
||||||
rosewater = "#f2d5cf"
|
|
||||||
flamingo = "#eebebe"
|
|
||||||
pink = "#f4b8e4"
|
|
||||||
mauve = "#ca9ee6"
|
|
||||||
red = "#e78284"
|
|
||||||
maroon = "#ea999c"
|
|
||||||
peach = "#ef9f76"
|
|
||||||
yellow = "#e5c890"
|
|
||||||
green = "#a6d189"
|
|
||||||
teal = "#81c8be"
|
|
||||||
sky = "#99d1db"
|
|
||||||
sapphire = "#85c1dc"
|
|
||||||
blue = "#8caaee"
|
|
||||||
lavender = "#babbf1"
|
|
||||||
text = "#c6d0f5"
|
|
||||||
subtext1 = "#b5bfe2"
|
|
||||||
subtext0 = "#a5adce"
|
|
||||||
overlay2 = "#949cbb"
|
|
||||||
overlay1 = "#838ba7"
|
|
||||||
overlay0 = "#737994"
|
|
||||||
surface2 = "#626880"
|
|
||||||
surface1 = "#51576d"
|
|
||||||
surface0 = "#414559"
|
|
||||||
base = "#303446"
|
|
||||||
mantle = "#292c3c"
|
|
||||||
crust = "#232634"
|
|
||||||
|
|
||||||
cursorline = "#3b3f52"
|
|
||||||
secondary_cursor = "#b8a5a6"
|
|
||||||
secondary_cursor_normal = "#9192be"
|
|
||||||
secondary_cursor_insert = "#83a275"
|
|
||||||
@@ -1,156 +0,0 @@
|
|||||||
# Syntax highlighting
|
|
||||||
# -------------------
|
|
||||||
"attribute" = "yellow"
|
|
||||||
|
|
||||||
"type" = "yellow"
|
|
||||||
"type.enum.variant" = "teal"
|
|
||||||
|
|
||||||
"constructor" = "sapphire"
|
|
||||||
|
|
||||||
"constant" = "peach"
|
|
||||||
"constant.character" = "teal"
|
|
||||||
"constant.character.escape" = "pink"
|
|
||||||
|
|
||||||
"string" = "green"
|
|
||||||
"string.regexp" = "pink"
|
|
||||||
"string.special" = "blue"
|
|
||||||
"string.special.symbol" = "red"
|
|
||||||
|
|
||||||
"comment" = { fg = "overlay2" }
|
|
||||||
|
|
||||||
"variable" = "text"
|
|
||||||
"variable.parameter" = { fg = "maroon" }
|
|
||||||
"variable.builtin" = "red"
|
|
||||||
"variable.other.member" = "teal"
|
|
||||||
|
|
||||||
"label" = "sapphire" # used for lifetimes
|
|
||||||
|
|
||||||
"punctuation" = "overlay2"
|
|
||||||
"punctuation.special" = "sky"
|
|
||||||
|
|
||||||
"keyword" = "mauve"
|
|
||||||
"keyword.control.conditional" = { fg = "mauve" }
|
|
||||||
|
|
||||||
"operator" = "sky"
|
|
||||||
|
|
||||||
"function" = "blue"
|
|
||||||
"function.macro" = "mauve"
|
|
||||||
|
|
||||||
"tag" = "blue"
|
|
||||||
|
|
||||||
"namespace" = { fg = "yellow" }
|
|
||||||
|
|
||||||
"special" = "blue" # fuzzy highlight
|
|
||||||
|
|
||||||
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
|
|
||||||
"markup.heading.1" = "lavender"
|
|
||||||
"markup.heading.2" = "mauve"
|
|
||||||
"markup.heading.3" = "green"
|
|
||||||
"markup.heading.4" = "yellow"
|
|
||||||
"markup.heading.5" = "pink"
|
|
||||||
"markup.heading.6" = "teal"
|
|
||||||
"markup.list" = "mauve"
|
|
||||||
"markup.bold" = { modifiers = ["bold"] }
|
|
||||||
"markup.italic" = { modifiers = ["italic"] }
|
|
||||||
"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
|
|
||||||
"markup.link.text" = "blue"
|
|
||||||
"markup.raw" = "flamingo"
|
|
||||||
|
|
||||||
"diff.plus" = "green"
|
|
||||||
"diff.minus" = "red"
|
|
||||||
"diff.delta" = "blue"
|
|
||||||
|
|
||||||
# User Interface
|
|
||||||
# --------------
|
|
||||||
"ui.background" = { fg = "text", bg = "base" }
|
|
||||||
|
|
||||||
"ui.linenr" = { fg = "surface1" }
|
|
||||||
"ui.linenr.selected" = { fg = "lavender" }
|
|
||||||
|
|
||||||
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
|
|
||||||
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
|
|
||||||
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
|
|
||||||
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
|
|
||||||
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.popup" = { fg = "text", bg = "surface0" }
|
|
||||||
"ui.window" = { fg = "crust" }
|
|
||||||
"ui.help" = { fg = "overlay2", bg = "surface0" }
|
|
||||||
|
|
||||||
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
|
|
||||||
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
|
|
||||||
"ui.bufferline.background" = { bg = "crust" }
|
|
||||||
|
|
||||||
"ui.text" = "text"
|
|
||||||
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
|
|
||||||
"ui.text.inactive" = { fg = "overlay1" }
|
|
||||||
|
|
||||||
"ui.virtual" = "overlay0"
|
|
||||||
"ui.virtual.ruler" = { bg = "surface0" }
|
|
||||||
"ui.virtual.indent-guide" = "surface0"
|
|
||||||
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
|
|
||||||
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.selection" = { bg = "surface1" }
|
|
||||||
|
|
||||||
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
|
|
||||||
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
|
|
||||||
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
|
|
||||||
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
|
|
||||||
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
|
|
||||||
|
|
||||||
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
|
|
||||||
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
|
|
||||||
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
|
|
||||||
|
|
||||||
"ui.cursorline.primary" = { bg = "cursorline" }
|
|
||||||
|
|
||||||
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.menu" = { fg = "overlay2", bg = "surface0" }
|
|
||||||
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
|
|
||||||
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
|
|
||||||
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
|
|
||||||
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
|
|
||||||
|
|
||||||
error = "red"
|
|
||||||
warning = "yellow"
|
|
||||||
info = "sky"
|
|
||||||
hint = "teal"
|
|
||||||
|
|
||||||
[palette]
|
|
||||||
rosewater = "#dc8a78"
|
|
||||||
flamingo = "#dd7878"
|
|
||||||
pink = "#ea76cb"
|
|
||||||
mauve = "#8839ef"
|
|
||||||
red = "#d20f39"
|
|
||||||
maroon = "#e64553"
|
|
||||||
peach = "#fe640b"
|
|
||||||
yellow = "#df8e1d"
|
|
||||||
green = "#40a02b"
|
|
||||||
teal = "#179299"
|
|
||||||
sky = "#04a5e5"
|
|
||||||
sapphire = "#209fb5"
|
|
||||||
blue = "#1e66f5"
|
|
||||||
lavender = "#7287fd"
|
|
||||||
text = "#4c4f69"
|
|
||||||
subtext1 = "#5c5f77"
|
|
||||||
subtext0 = "#6c6f85"
|
|
||||||
overlay2 = "#7c7f93"
|
|
||||||
overlay1 = "#8c8fa1"
|
|
||||||
overlay0 = "#9ca0b0"
|
|
||||||
surface2 = "#acb0be"
|
|
||||||
surface1 = "#bcc0cc"
|
|
||||||
surface0 = "#ccd0da"
|
|
||||||
base = "#eff1f5"
|
|
||||||
mantle = "#e6e9ef"
|
|
||||||
crust = "#dce0e8"
|
|
||||||
|
|
||||||
cursorline = "#e8ecf1"
|
|
||||||
secondary_cursor = "#e1a99d"
|
|
||||||
secondary_cursor_normal = "#97a7fb"
|
|
||||||
secondary_cursor_insert = "#74b867"
|
|
||||||
@@ -1,156 +0,0 @@
|
|||||||
# Syntax highlighting
|
|
||||||
# -------------------
|
|
||||||
"attribute" = "yellow"
|
|
||||||
|
|
||||||
"type" = "yellow"
|
|
||||||
"type.enum.variant" = "teal"
|
|
||||||
|
|
||||||
"constructor" = "sapphire"
|
|
||||||
|
|
||||||
"constant" = "peach"
|
|
||||||
"constant.character" = "teal"
|
|
||||||
"constant.character.escape" = "pink"
|
|
||||||
|
|
||||||
"string" = "green"
|
|
||||||
"string.regexp" = "pink"
|
|
||||||
"string.special" = "blue"
|
|
||||||
"string.special.symbol" = "red"
|
|
||||||
|
|
||||||
"comment" = { fg = "overlay2" }
|
|
||||||
|
|
||||||
"variable" = "text"
|
|
||||||
"variable.parameter" = { fg = "maroon" }
|
|
||||||
"variable.builtin" = "red"
|
|
||||||
"variable.other.member" = "teal"
|
|
||||||
|
|
||||||
"label" = "sapphire" # used for lifetimes
|
|
||||||
|
|
||||||
"punctuation" = "overlay2"
|
|
||||||
"punctuation.special" = "sky"
|
|
||||||
|
|
||||||
"keyword" = "mauve"
|
|
||||||
"keyword.control.conditional" = { fg = "mauve" }
|
|
||||||
|
|
||||||
"operator" = "sky"
|
|
||||||
|
|
||||||
"function" = "blue"
|
|
||||||
"function.macro" = "mauve"
|
|
||||||
|
|
||||||
"tag" = "blue"
|
|
||||||
|
|
||||||
"namespace" = { fg = "yellow" }
|
|
||||||
|
|
||||||
"special" = "blue" # fuzzy highlight
|
|
||||||
|
|
||||||
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
|
|
||||||
"markup.heading.1" = "lavender"
|
|
||||||
"markup.heading.2" = "mauve"
|
|
||||||
"markup.heading.3" = "green"
|
|
||||||
"markup.heading.4" = "yellow"
|
|
||||||
"markup.heading.5" = "pink"
|
|
||||||
"markup.heading.6" = "teal"
|
|
||||||
"markup.list" = "mauve"
|
|
||||||
"markup.bold" = { modifiers = ["bold"] }
|
|
||||||
"markup.italic" = { modifiers = ["italic"] }
|
|
||||||
"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
|
|
||||||
"markup.link.text" = "blue"
|
|
||||||
"markup.raw" = "flamingo"
|
|
||||||
|
|
||||||
"diff.plus" = "green"
|
|
||||||
"diff.minus" = "red"
|
|
||||||
"diff.delta" = "blue"
|
|
||||||
|
|
||||||
# User Interface
|
|
||||||
# --------------
|
|
||||||
"ui.background" = { fg = "text", bg = "base" }
|
|
||||||
|
|
||||||
"ui.linenr" = { fg = "surface1" }
|
|
||||||
"ui.linenr.selected" = { fg = "lavender" }
|
|
||||||
|
|
||||||
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
|
|
||||||
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
|
|
||||||
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
|
|
||||||
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
|
|
||||||
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.popup" = { fg = "text", bg = "surface0" }
|
|
||||||
"ui.window" = { fg = "crust" }
|
|
||||||
"ui.help" = { fg = "overlay2", bg = "surface0" }
|
|
||||||
|
|
||||||
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
|
|
||||||
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
|
|
||||||
"ui.bufferline.background" = { bg = "crust" }
|
|
||||||
|
|
||||||
"ui.text" = "text"
|
|
||||||
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
|
|
||||||
"ui.text.inactive" = { fg = "overlay1" }
|
|
||||||
|
|
||||||
"ui.virtual" = "overlay0"
|
|
||||||
"ui.virtual.ruler" = { bg = "surface0" }
|
|
||||||
"ui.virtual.indent-guide" = "surface0"
|
|
||||||
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
|
|
||||||
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.selection" = { bg = "surface1" }
|
|
||||||
|
|
||||||
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
|
|
||||||
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
|
|
||||||
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
|
|
||||||
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
|
|
||||||
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
|
|
||||||
|
|
||||||
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
|
|
||||||
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
|
|
||||||
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
|
|
||||||
|
|
||||||
"ui.cursorline.primary" = { bg = "cursorline" }
|
|
||||||
|
|
||||||
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.menu" = { fg = "overlay2", bg = "surface0" }
|
|
||||||
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
|
|
||||||
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
|
|
||||||
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
|
|
||||||
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
|
|
||||||
|
|
||||||
error = "red"
|
|
||||||
warning = "yellow"
|
|
||||||
info = "sky"
|
|
||||||
hint = "teal"
|
|
||||||
|
|
||||||
[palette]
|
|
||||||
rosewater = "#f4dbd6"
|
|
||||||
flamingo = "#f0c6c6"
|
|
||||||
pink = "#f5bde6"
|
|
||||||
mauve = "#c6a0f6"
|
|
||||||
red = "#ed8796"
|
|
||||||
maroon = "#ee99a0"
|
|
||||||
peach = "#f5a97f"
|
|
||||||
yellow = "#eed49f"
|
|
||||||
green = "#a6da95"
|
|
||||||
teal = "#8bd5ca"
|
|
||||||
sky = "#91d7e3"
|
|
||||||
sapphire = "#7dc4e4"
|
|
||||||
blue = "#8aadf4"
|
|
||||||
lavender = "#b7bdf8"
|
|
||||||
text = "#cad3f5"
|
|
||||||
subtext1 = "#b8c0e0"
|
|
||||||
subtext0 = "#a5adcb"
|
|
||||||
overlay2 = "#939ab7"
|
|
||||||
overlay1 = "#8087a2"
|
|
||||||
overlay0 = "#6e738d"
|
|
||||||
surface2 = "#5b6078"
|
|
||||||
surface1 = "#494d64"
|
|
||||||
surface0 = "#363a4f"
|
|
||||||
base = "#24273a"
|
|
||||||
mantle = "#1e2030"
|
|
||||||
crust = "#181926"
|
|
||||||
|
|
||||||
cursorline = "#303347"
|
|
||||||
secondary_cursor = "#b6a6a7"
|
|
||||||
secondary_cursor_normal = "#8b91bf"
|
|
||||||
secondary_cursor_insert = "#80a57a"
|
|
||||||
@@ -1,156 +0,0 @@
|
|||||||
# Syntax highlighting
|
|
||||||
# -------------------
|
|
||||||
"attribute" = "yellow"
|
|
||||||
|
|
||||||
"type" = "yellow"
|
|
||||||
"type.enum.variant" = "teal"
|
|
||||||
|
|
||||||
"constructor" = "sapphire"
|
|
||||||
|
|
||||||
"constant" = "peach"
|
|
||||||
"constant.character" = "teal"
|
|
||||||
"constant.character.escape" = "pink"
|
|
||||||
|
|
||||||
"string" = "green"
|
|
||||||
"string.regexp" = "pink"
|
|
||||||
"string.special" = "blue"
|
|
||||||
"string.special.symbol" = "red"
|
|
||||||
|
|
||||||
"comment" = { fg = "overlay2" }
|
|
||||||
|
|
||||||
"variable" = "text"
|
|
||||||
"variable.parameter" = { fg = "maroon" }
|
|
||||||
"variable.builtin" = "red"
|
|
||||||
"variable.other.member" = "teal"
|
|
||||||
|
|
||||||
"label" = "sapphire" # used for lifetimes
|
|
||||||
|
|
||||||
"punctuation" = "overlay2"
|
|
||||||
"punctuation.special" = "sky"
|
|
||||||
|
|
||||||
"keyword" = "mauve"
|
|
||||||
"keyword.control.conditional" = { fg = "mauve" }
|
|
||||||
|
|
||||||
"operator" = "sky"
|
|
||||||
|
|
||||||
"function" = "blue"
|
|
||||||
"function.macro" = "mauve"
|
|
||||||
|
|
||||||
"tag" = "blue"
|
|
||||||
|
|
||||||
"namespace" = { fg = "yellow" }
|
|
||||||
|
|
||||||
"special" = "blue" # fuzzy highlight
|
|
||||||
|
|
||||||
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
|
|
||||||
"markup.heading.1" = "lavender"
|
|
||||||
"markup.heading.2" = "mauve"
|
|
||||||
"markup.heading.3" = "green"
|
|
||||||
"markup.heading.4" = "yellow"
|
|
||||||
"markup.heading.5" = "pink"
|
|
||||||
"markup.heading.6" = "teal"
|
|
||||||
"markup.list" = "mauve"
|
|
||||||
"markup.bold" = { modifiers = ["bold"] }
|
|
||||||
"markup.italic" = { modifiers = ["italic"] }
|
|
||||||
"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
|
|
||||||
"markup.link.text" = "blue"
|
|
||||||
"markup.raw" = "flamingo"
|
|
||||||
|
|
||||||
"diff.plus" = "green"
|
|
||||||
"diff.minus" = "red"
|
|
||||||
"diff.delta" = "blue"
|
|
||||||
|
|
||||||
# User Interface
|
|
||||||
# --------------
|
|
||||||
"ui.background" = { fg = "text", bg = "base" }
|
|
||||||
|
|
||||||
"ui.linenr" = { fg = "surface1" }
|
|
||||||
"ui.linenr.selected" = { fg = "lavender" }
|
|
||||||
|
|
||||||
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
|
|
||||||
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
|
|
||||||
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
|
|
||||||
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
|
|
||||||
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.popup" = { fg = "text", bg = "surface0" }
|
|
||||||
"ui.window" = { fg = "crust" }
|
|
||||||
"ui.help" = { fg = "overlay2", bg = "surface0" }
|
|
||||||
|
|
||||||
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
|
|
||||||
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
|
|
||||||
"ui.bufferline.background" = { bg = "crust" }
|
|
||||||
|
|
||||||
"ui.text" = "text"
|
|
||||||
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
|
|
||||||
"ui.text.inactive" = { fg = "overlay1" }
|
|
||||||
|
|
||||||
"ui.virtual" = "overlay0"
|
|
||||||
"ui.virtual.ruler" = { bg = "surface0" }
|
|
||||||
"ui.virtual.indent-guide" = "surface0"
|
|
||||||
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
|
|
||||||
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.selection" = { bg = "surface1" }
|
|
||||||
|
|
||||||
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
|
|
||||||
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
|
|
||||||
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
|
|
||||||
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
|
|
||||||
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
|
|
||||||
|
|
||||||
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
|
|
||||||
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
|
|
||||||
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
|
|
||||||
|
|
||||||
"ui.cursorline.primary" = { bg = "cursorline" }
|
|
||||||
|
|
||||||
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"ui.menu" = { fg = "overlay2", bg = "surface0" }
|
|
||||||
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
|
|
||||||
|
|
||||||
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
|
|
||||||
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
|
|
||||||
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
|
|
||||||
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
|
|
||||||
|
|
||||||
error = "red"
|
|
||||||
warning = "yellow"
|
|
||||||
info = "sky"
|
|
||||||
hint = "teal"
|
|
||||||
|
|
||||||
[palette]
|
|
||||||
rosewater = "#f5e0dc"
|
|
||||||
flamingo = "#f2cdcd"
|
|
||||||
pink = "#f5c2e7"
|
|
||||||
mauve = "#cba6f7"
|
|
||||||
red = "#f38ba8"
|
|
||||||
maroon = "#eba0ac"
|
|
||||||
peach = "#fab387"
|
|
||||||
yellow = "#f9e2af"
|
|
||||||
green = "#a6e3a1"
|
|
||||||
teal = "#94e2d5"
|
|
||||||
sky = "#89dceb"
|
|
||||||
sapphire = "#74c7ec"
|
|
||||||
blue = "#89b4fa"
|
|
||||||
lavender = "#b4befe"
|
|
||||||
text = "#cdd6f4"
|
|
||||||
subtext1 = "#bac2de"
|
|
||||||
subtext0 = "#a6adc8"
|
|
||||||
overlay2 = "#9399b2"
|
|
||||||
overlay1 = "#7f849c"
|
|
||||||
overlay0 = "#6c7086"
|
|
||||||
surface2 = "#585b70"
|
|
||||||
surface1 = "#45475a"
|
|
||||||
surface0 = "#313244"
|
|
||||||
base = "#1e1e2e"
|
|
||||||
mantle = "#181825"
|
|
||||||
crust = "#11111b"
|
|
||||||
|
|
||||||
cursorline = "#2a2b3c"
|
|
||||||
secondary_cursor = "#b5a6a8"
|
|
||||||
secondary_cursor_normal = "#878ec0"
|
|
||||||
secondary_cursor_insert = "#7ea87f"
|
|
||||||
@@ -28,7 +28,7 @@ application/x-bittorrent=org.qbittorrent.qBittorrent.desktop;
|
|||||||
inode/directory=yazi.desktop;
|
inode/directory=yazi.desktop;
|
||||||
x-scheme-handler/msteams=teams.desktop;
|
x-scheme-handler/msteams=teams.desktop;
|
||||||
text/calendar=userapp-khalimport.desktop;
|
text/calendar=userapp-khalimport.desktop;
|
||||||
x-scheme-handler/discord=vesktop.desktop;
|
x-scheme-handler/discord=discord.desktop
|
||||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document=org.kde.okular.desktop;
|
application/vnd.openxmlformats-officedocument.wordprocessingml.document=org.kde.okular.desktop;
|
||||||
text/markdown=org.kde.okular.desktop;
|
text/markdown=org.kde.okular.desktop;
|
||||||
application/zip=userapp-file-roller.desktop;
|
application/zip=userapp-file-roller.desktop;
|
||||||
@@ -38,6 +38,7 @@ x-scheme-handler/vnc=org.remmina.Remmina.desktop;
|
|||||||
x-scheme-handler/remmina=org.remmina.Remmina.desktop;
|
x-scheme-handler/remmina=org.remmina.Remmina.desktop;
|
||||||
application/x-remmina=org.remmina.Remmina.desktop;
|
application/x-remmina=org.remmina.Remmina.desktop;
|
||||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop;
|
application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop;
|
||||||
|
image/heif=qimgv.desktop
|
||||||
|
|
||||||
[Added Associations]
|
[Added Associations]
|
||||||
|
|
||||||
|
|||||||
@@ -1,98 +0,0 @@
|
|||||||
# ttrss
|
|
||||||
ttrss-flag-publish "b"
|
|
||||||
ttrss-flag-star "a"
|
|
||||||
ttrss-login "admin"
|
|
||||||
ttrss-mode "multi"
|
|
||||||
ttrss-passwordeval "pass show ttrss"
|
|
||||||
ttrss-url "https://rss.hjarl.com/"
|
|
||||||
urls-source "ttrss"
|
|
||||||
|
|
||||||
# data
|
|
||||||
cache-file "~/.cache/newsboat/cache.db"
|
|
||||||
cookie-cache "~/.cache/newsboat/cookies.txt"
|
|
||||||
|
|
||||||
# feeds
|
|
||||||
auto-reload yes
|
|
||||||
delete-read-articles-on-quit yes
|
|
||||||
feed-sort-order unreadarticlecount-asc
|
|
||||||
prepopulate-query-feeds yes
|
|
||||||
reload-threads 11
|
|
||||||
reload-time 30
|
|
||||||
scrolloff 15
|
|
||||||
|
|
||||||
# display
|
|
||||||
article-sort-order date
|
|
||||||
datetime-format "%D %R"
|
|
||||||
download-full-page yes
|
|
||||||
external-url-viewer "urlscan"
|
|
||||||
html-renderer "w3m -dump -T text/html"
|
|
||||||
show-read-articles no
|
|
||||||
show-read-feeds no
|
|
||||||
text-width 72
|
|
||||||
|
|
||||||
# navigation
|
|
||||||
browser "$BROWSER %u >/dev/null 2>&1 &"
|
|
||||||
#browser "w3m %u"
|
|
||||||
goto-next-feed yes
|
|
||||||
goto-first-unread no
|
|
||||||
mark-as-read-on-hover yes
|
|
||||||
|
|
||||||
# bindings
|
|
||||||
# original bindings here https://raw.githubusercontent.com/newsboat/newsboat/master/src/keymap.cpp
|
|
||||||
# unbind
|
|
||||||
unbind-key f
|
|
||||||
unbind-key F
|
|
||||||
unbind-key C
|
|
||||||
unbind-key n
|
|
||||||
unbind-key p
|
|
||||||
unbind-key ^k
|
|
||||||
unbind-key ,
|
|
||||||
# bind
|
|
||||||
bind SPACE everywhere macro-prefix
|
|
||||||
bind l everywhere open
|
|
||||||
bind h everywhere quit
|
|
||||||
bind j everywhere down
|
|
||||||
bind k everywhere up
|
|
||||||
bind J everywhere next-feed
|
|
||||||
bind K everywhere prev-feed
|
|
||||||
bind J article next
|
|
||||||
bind K article prev
|
|
||||||
bind n everywhere next
|
|
||||||
bind p everywhere prev
|
|
||||||
bind g everywhere home
|
|
||||||
bind G everywhere end
|
|
||||||
bind ^F everywhere halfpagedown
|
|
||||||
bind ^B everywhere halfpageup
|
|
||||||
bind ^D everywhere pagedown
|
|
||||||
bind ^U everywhere pageup
|
|
||||||
bind d everywhere delete-article
|
|
||||||
bind D everywhere delete-all-articles
|
|
||||||
bind $ everywhere purge-deleted
|
|
||||||
bind a everywhere mark-all-above-as-read
|
|
||||||
bind A everywhere mark-feed-read
|
|
||||||
bind ^A everywhere mark-all-feeds-read
|
|
||||||
bind i everywhere sort
|
|
||||||
bind I everywhere rev-sort
|
|
||||||
bind T everywhere set-tag
|
|
||||||
bind t everywhere toggle-article-read
|
|
||||||
bind b everywhere toggle-source-view
|
|
||||||
bind U everywhere toggle-show-read-feeds
|
|
||||||
|
|
||||||
# macros
|
|
||||||
macro w set browser "w3m %u"; open-in-browser ; set browser "$BROWSER %u >/dev/null 2>&1 &"
|
|
||||||
macro l set browser "links %u"; open-in-browser ; set browser "$BROWSER %u >/dev/null 2>&1 &"
|
|
||||||
macro m set browser "mpv %u"; open-in-browser ; set browser "$BROWSER %u >/dev/null 2>&1 &"
|
|
||||||
|
|
||||||
# format
|
|
||||||
feedlist-title-format "(%u unread, %t total) Your feeds%?T? - tag ‘%T’&?"
|
|
||||||
articlelist-title-format "(%u unread, %t total) Articles in feed %T - %U"
|
|
||||||
searchresult-title-format "(%u unread, %t total) Search result"
|
|
||||||
itemview-title-format "(%u unread, %t total) Article %T"
|
|
||||||
filebrowser-title-format "%?O?Open File&Save File? - %f"
|
|
||||||
help-title-format "Help"
|
|
||||||
selecttag-title-format "Select Tag"
|
|
||||||
selectfilter-title-format "Select Filter"
|
|
||||||
urlview-title-format "URLs"
|
|
||||||
dialogs-title-format "Dialogs"
|
|
||||||
|
|
||||||
include "~/.config/newsboat/themes/catppuccin.dark"
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
# https://raw.githubusercontent.com/catppuccin/newsboat/refs/heads/main/themes/dark
|
|
||||||
color listnormal color15 default
|
|
||||||
color listnormal_unread color2 default
|
|
||||||
color listfocus_unread color2 color0
|
|
||||||
color listfocus default color0
|
|
||||||
color background default default
|
|
||||||
color article default default
|
|
||||||
color end-of-text-marker color8 default
|
|
||||||
color info color4 color8
|
|
||||||
color hint-separator default color8
|
|
||||||
color hint-description default color8
|
|
||||||
color title color14 color8
|
|
||||||
|
|
||||||
highlight article "^(Feed|Title|Author|Link|Date): .+" color4 default bold
|
|
||||||
highlight article "^(Feed|Title|Author|Link|Date):" color14 default bold
|
|
||||||
|
|
||||||
highlight article "\\((link|image|video)\\)" color8 default
|
|
||||||
highlight article "https?://[^ ]+" color4 default
|
|
||||||
highlight article "\[[0-9]+\]" color6 default bold
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
# https://raw.githubusercontent.com/catppuccin/newsboat/refs/heads/main/themes/latte
|
|
||||||
color listnormal color15 default
|
|
||||||
color listnormal_unread color2 default
|
|
||||||
color listfocus_unread color2 color15
|
|
||||||
color listfocus default color15
|
|
||||||
color background default default
|
|
||||||
color article default default
|
|
||||||
color end-of-text-marker color8 default
|
|
||||||
color info color4 color7
|
|
||||||
color hint-separator default color7
|
|
||||||
color hint-description default color7
|
|
||||||
color title color14 color7
|
|
||||||
|
|
||||||
highlight article "^(Feed|Title|Author|Link|Date): .+" color4 default bold
|
|
||||||
highlight article "^(Feed|Title|Author|Link|Date):" color14 default bold
|
|
||||||
|
|
||||||
highlight article "\\((link|image|video)\\)" color8 default
|
|
||||||
highlight article "https?://[^ ]+" color4 default
|
|
||||||
highlight article "\[[0-9]+\]" color6 default bold
|
|
||||||
@@ -2,3 +2,4 @@ vim.o.colorcolumn = "100"
|
|||||||
vim.opt.tabstop = 4
|
vim.opt.tabstop = 4
|
||||||
vim.opt.shiftwidth = 4
|
vim.opt.shiftwidth = 4
|
||||||
vim.opt.softtabstop = 4
|
vim.opt.softtabstop = 4
|
||||||
|
vim.g.no_python_maps = 1
|
||||||
|
|||||||
+293
-262
@@ -1,92 +1,83 @@
|
|||||||
vim.g.mapleader = vim.keycode("<space>")
|
vim.g.mapleader = vim.keycode("<space>")
|
||||||
vim.g.maplocalleader = vim.keycode("/")
|
vim.g.maplocalleader = vim.keycode("/")
|
||||||
vim.o.langmap = "ø:"
|
vim.opt.langmap = "ø:"
|
||||||
|
|
||||||
-- general options
|
-- general options
|
||||||
vim.o.shell = "/usr/bin/zsh"
|
vim.opt.shell = "/usr/bin/zsh"
|
||||||
vim.g.BASH_Ctrl_j = "off"
|
vim.g.BASH_Ctrl_j = "off"
|
||||||
vim.g.BASH_Ctrl_l = "off"
|
vim.g.BASH_Ctrl_l = "off"
|
||||||
vim.opt.clipboard:append("unnamedplus")
|
vim.opt.clipboard:append("unnamedplus")
|
||||||
vim.o.guicursor = "n-v-c:block-CustomCursor,i:ver100-CustomICursor,n-v-c:blinkon0,i:blinkwait10"
|
vim.opt.cursorline = true
|
||||||
vim.o.cursorline = true
|
vim.opt.list = true
|
||||||
vim.o.list = true
|
vim.opt.listchars = { tab = "→ ", trail = "·", extends = "↷", precedes = "↶", nbsp = "+" }
|
||||||
vim.o.listchars = "tab:→ ,trail:·,extends:↷,precedes:↶,nbsp:+"
|
vim.opt.mouse = "a"
|
||||||
vim.o.mouse = "a"
|
vim.opt.ruler = false
|
||||||
vim.o.ruler = false
|
vim.opt.scrolloff = 4
|
||||||
vim.o.scrolloff = 4
|
|
||||||
vim.opt.shortmess:append({ W = true, I = true, c = true, C = true })
|
vim.opt.shortmess:append({ W = true, I = true, c = true, C = true })
|
||||||
vim.o.cmdheight = 0
|
vim.opt.cmdheight = 0
|
||||||
vim.o.showmode = false
|
vim.opt.showmode = false
|
||||||
vim.o.sidescrolloff = 8
|
vim.opt.sidescrolloff = 8
|
||||||
vim.o.timeoutlen = 500
|
vim.opt.timeoutlen = 500
|
||||||
vim.o.virtualedit = "block"
|
vim.opt.virtualedit = "block"
|
||||||
vim.o.wildmode = "longest:full,full"
|
vim.opt.wildmode = { "longest:full", "full" }
|
||||||
vim.o.wrap = false
|
vim.opt.wrap = false
|
||||||
vim.opt.diffopt = "internal,filler,closeoff,hiddenoff,vertical,algorithm:histogram"
|
vim.opt.diffopt = { "internal", "filler", "closeoff", "hiddenoff", "vertical", "algorithm:histogram" }
|
||||||
vim.opt.wildignore:append(
|
-- stylua: ignore
|
||||||
"blue.vim,darkblue.vim,delek.vim,desert.vim,elflord.vim,evening.vim,habamax.vim,industry.vim,"
|
vim.opt.wildignore:append({ "blue.vim", "darkblue.vim", "delek.vim", "desert.vim", "elflord.vim", "evening.vim", "habamax.vim", "industry.vim", "koehler.vim", "lunaperche.vim", "morning.vim", "murphy.vim", "pablo.vim", "peachpuff.vim", "quiet.vim", "retrobox.vim", "ron.vim", "shine.vim", "slate.vim", "sorbet.vim", "torte.vim", "unokai.vim", "vim.lua", "wildcharm.vim", "zaibatsu.vim", "zellner.vim", })
|
||||||
.. "koehler.vim,lunaperche.vim,morning.vim,murphy.vim,pablo.vim,peachpuff.vim,quiet.vim,retrobox.vim,ron.vim,"
|
|
||||||
.. "shine.vim,slate.vim,sorbet.vim,torte.vim,unokai.vim,vim.lua,wildcharm.vim,zaibatsu.vim,zellner.vim"
|
|
||||||
)
|
|
||||||
|
|
||||||
-- File History
|
-- File History
|
||||||
vim.o.undofile = true
|
vim.opt.undofile = true
|
||||||
vim.o.undolevels = 100000
|
vim.opt.undolevels = 100000
|
||||||
vim.o.undoreload = 100000
|
vim.opt.undoreload = 100000
|
||||||
vim.o.updatetime = 200
|
vim.opt.updatetime = 200
|
||||||
|
|
||||||
-- Tab stop
|
-- Tab stop
|
||||||
vim.o.expandtab = true
|
vim.opt.expandtab = true
|
||||||
vim.o.shiftround = true
|
vim.opt.shiftround = true
|
||||||
vim.o.shiftwidth = 2
|
vim.opt.shiftwidth = 2
|
||||||
vim.o.tabstop = 2
|
vim.opt.tabstop = 2
|
||||||
vim.o.smartindent = false
|
vim.opt.smartindent = false
|
||||||
|
|
||||||
-- Session options
|
-- Session options
|
||||||
vim.opt.sessionoptions = { "buffers", "curdir", "tabpages", "winsize", "help", "globals", "skiprtp", "folds" }
|
vim.opt.sessionoptions = { "buffers", "curdir", "tabpages", "winsize", "help", "globals", "skiprtp", "folds" }
|
||||||
|
|
||||||
-- Completion Window/Popup settings
|
-- Completion Window/Popup settings
|
||||||
vim.o.completeopt = "menu,popup,preview"
|
vim.opt.completeopt = { "menu", "menuone", "longest", "noselect", "noinsert", "popup", "preview" }
|
||||||
vim.o.pumblend = 10
|
vim.opt.pumblend = 10
|
||||||
vim.o.pumheight = 10
|
vim.opt.pumheight = 10
|
||||||
vim.o.winminwidth = 5
|
vim.opt.winminwidth = 5
|
||||||
|
|
||||||
-- Fold settings
|
-- Fold settings
|
||||||
vim.opt.foldlevel = 99
|
vim.opt.foldlevel = 99
|
||||||
vim.opt.smoothscroll = true
|
vim.opt.smoothscroll = true
|
||||||
vim.opt.foldmethod = "expr"
|
vim.opt.foldmethod = "expr"
|
||||||
vim.opt.foldtext = ""
|
vim.opt.foldtext = ""
|
||||||
vim.o.foldexpr = "v:lua.vim.treesitter.foldexpr()"
|
vim.opt.foldexpr = "v:lua.vim.treesitter.foldexpr()"
|
||||||
|
|
||||||
-- Format settings
|
-- Format settings
|
||||||
vim.o.formatoptions = "jroqlnt"
|
vim.opt.formatoptions = "jqlnt"
|
||||||
|
|
||||||
-- Grep settings
|
-- Grep settings
|
||||||
vim.o.grepformat = "%f:%l:%c:%m"
|
vim.opt.grepformat = "%f:%l:%c:%m"
|
||||||
vim.o.grepprg = "rg --vimgrep"
|
vim.opt.grepprg = "rg --vimgrep"
|
||||||
|
|
||||||
-- Search/subsitute settings
|
-- Search/substitute settings
|
||||||
vim.o.inccommand = "nosplit"
|
vim.opt.inccommand = "nosplit"
|
||||||
vim.o.jumpoptions = "view"
|
vim.opt.jumpoptions = "view"
|
||||||
vim.o.ignorecase = true
|
vim.opt.ignorecase = true
|
||||||
vim.o.smartcase = true
|
vim.opt.smartcase = true
|
||||||
|
|
||||||
-- Spelling
|
-- Spelling
|
||||||
vim.opt.spelllang = { "en" }
|
vim.opt.spelllang = { "en" }
|
||||||
|
|
||||||
-- Splits
|
-- Splits
|
||||||
vim.o.splitbelow = true
|
vim.opt.splitbelow = true
|
||||||
vim.o.splitkeep = "screen"
|
vim.opt.splitkeep = "screen"
|
||||||
vim.o.splitright = true
|
vim.opt.splitright = true
|
||||||
|
|
||||||
-- Terminal
|
-- Terminal & Status Column
|
||||||
vim.o.termguicolors = true
|
vim.opt.number = true
|
||||||
|
vim.opt.relativenumber = true
|
||||||
-- Status Column
|
|
||||||
vim.o.number = true
|
|
||||||
vim.o.relativenumber = true
|
|
||||||
|
|
||||||
vim.opt.termguicolors = true
|
|
||||||
vim.diagnostic.config({
|
vim.diagnostic.config({
|
||||||
severity_sort = true,
|
severity_sort = true,
|
||||||
underline = true,
|
underline = true,
|
||||||
@@ -105,7 +96,12 @@ vim.diagnostic.config({
|
|||||||
},
|
},
|
||||||
float = { source = true },
|
float = { source = true },
|
||||||
})
|
})
|
||||||
vim.lsp.set_log_level(2)
|
|
||||||
|
vim.api.nvim_create_autocmd("BufEnter", {
|
||||||
|
desc = "Disable auto-commenting on new line",
|
||||||
|
pattern = "*",
|
||||||
|
callback = function() vim.opt_local.formatoptions:remove({ "r", "o" }) end,
|
||||||
|
})
|
||||||
|
|
||||||
-- ----------------------------------------
|
-- ----------------------------------------
|
||||||
-- MAPS
|
-- MAPS
|
||||||
@@ -165,10 +161,6 @@ map("v", ">", ">gv")
|
|||||||
map("v", "<Tab>", ">gv")
|
map("v", "<Tab>", ">gv")
|
||||||
map("v", "<S-Tab>", "<gv")
|
map("v", "<S-Tab>", "<gv")
|
||||||
|
|
||||||
-- commenting
|
|
||||||
map("n", "gco", "o<esc>Vcx<esc><cmd>normal gcc<cr>fxa<bs>", { desc = "Add Comment Below" })
|
|
||||||
map("n", "gcO", "O<esc>Vcx<esc><cmd>normal gcc<cr>fxa<bs>", { desc = "Add Comment Above" })
|
|
||||||
|
|
||||||
-- new file
|
-- new file
|
||||||
map("n", "<leader>n", "<cmd>enew<cr>", { desc = "New File" })
|
map("n", "<leader>n", "<cmd>enew<cr>", { desc = "New File" })
|
||||||
|
|
||||||
@@ -179,12 +171,6 @@ map("n", "<leader>uI", function()
|
|||||||
vim.api.nvim_input("I")
|
vim.api.nvim_input("I")
|
||||||
end, { desc = "Inspect Tree" })
|
end, { desc = "Inspect Tree" })
|
||||||
|
|
||||||
-- Terminal Mappings overridden by Snacks.terminal
|
|
||||||
-- map("n", "<C-/>", "<cmd>terminal<cr>", { desc = "Show Terminal" })
|
|
||||||
-- map("t", "<C-/>", "<cmd>close<cr>", { desc = "Hide Terminal" })
|
|
||||||
-- map("n", "<C-_>", "<cmd>terminal<cr>", { desc = "which_key_ignore" })
|
|
||||||
-- map("t", "<C-_>", "<cmd>close<cr>", { desc = "which_key_ignore" })
|
|
||||||
|
|
||||||
-- windows
|
-- windows
|
||||||
map("n", "<M-v>", "<cmd>vsplit<cr>", { desc = "Split Window Right", remap = true })
|
map("n", "<M-v>", "<cmd>vsplit<cr>", { desc = "Split Window Right", remap = true })
|
||||||
map("n", "<M-s>", "<cmd>split<cr>", { desc = "Split Window Below", remap = true })
|
map("n", "<M-s>", "<cmd>split<cr>", { desc = "Split Window Below", remap = true })
|
||||||
@@ -225,29 +211,22 @@ map(
|
|||||||
)
|
)
|
||||||
|
|
||||||
-- LSP
|
-- LSP
|
||||||
map("n", "<leader>ld", "<cmd>e ~/.local/state/nvim/lsp.log<cr>")
|
-- Global Diagnostic mappings (Diagnostics work independently of LSP)
|
||||||
map("n", "<leader>lc", "<cmd>checkhealth<cr>")
|
|
||||||
local diagnostic_goto = function(count, severity)
|
local diagnostic_goto = function(count, severity)
|
||||||
severity = severity and vim.diagnostic.severity[severity] or nil
|
severity = severity and vim.diagnostic.severity[severity] or nil
|
||||||
return function() vim.diagnostic.jump({ severity, count = count }) end
|
return function() vim.diagnostic.jump({ severity = severity, count = count }) end
|
||||||
end
|
end
|
||||||
map("n", "<M-i>", function() vim.diagnostic.open_float({ source = true }) end)
|
|
||||||
|
map("n", "<leader>ld", "<cmd>e ~/.local/state/nvim/lsp.log<cr>", { desc = "LSP Log" })
|
||||||
|
map("n", "<leader>lc", "<cmd>checkhealth<cr>", { desc = "Checkhealth" })
|
||||||
|
map("n", "<M-i>", function() vim.diagnostic.open_float({ source = true }) end, { desc = "Line Diagnostics" })
|
||||||
map("n", "<M-n>", diagnostic_goto(1), { desc = "Next Diagnostic" })
|
map("n", "<M-n>", diagnostic_goto(1), { desc = "Next Diagnostic" })
|
||||||
map("n", "<M-p>", diagnostic_goto(-1), { desc = "Prev Diagnostic" })
|
map("n", "<M-p>", diagnostic_goto(-1), { desc = "Prev Diagnostic" })
|
||||||
map("n", "[e", diagnostic_goto(-1, "ERROR"), { desc = "Prev Error" })
|
map("n", "[e", diagnostic_goto(-1, "ERROR"), { desc = "Prev Error" })
|
||||||
map("n", "[w", diagnostic_goto(-1, "WARN"), { desc = "Prev Warning" })
|
map("n", "[w", diagnostic_goto(-1, "WARN"), { desc = "Prev Warning" })
|
||||||
map("n", "]e", diagnostic_goto(1, "ERROR"), { desc = "Next Error" })
|
map("n", "]e", diagnostic_goto(1, "ERROR"), { desc = "Next Error" })
|
||||||
map("n", "]w", diagnostic_goto(1, "WARN"), { desc = "Next Warning" })
|
map("n", "]w", diagnostic_goto(1, "WARN"), { desc = "Next Warning" })
|
||||||
map("n", "gd", vim.lsp.buf.definition, { desc = "Goto Definition" })
|
|
||||||
map("n", "gD", vim.lsp.buf.type_definition, { desc = "Goto Type Definition" })
|
|
||||||
map("n", "gi", vim.lsp.buf.declaration, { desc = "Goto Declaration" })
|
|
||||||
map("n", "gI", vim.lsp.buf.implementation, { desc = "Goto Implementation" })
|
|
||||||
map("n", "gl", vim.diagnostic.setloclist, { desc = "Diagnostics to Location List" })
|
map("n", "gl", vim.diagnostic.setloclist, { desc = "Diagnostics to Location List" })
|
||||||
map("n", "gr", function() vim.lsp.buf.references({ includeDeclaration = false }) end, { desc = "Goto References" })
|
|
||||||
map({ "n", "i" }, "<M-x>", vim.lsp.buf.signature_help)
|
|
||||||
map("n", "K", vim.lsp.buf.hover)
|
|
||||||
map("n", "<M-r>", vim.lsp.buf.rename)
|
|
||||||
map({ "n", "x" }, "<leader>ca", vim.lsp.buf.code_action, { desc = "Code Action" })
|
|
||||||
|
|
||||||
-- ----------------------------------------
|
-- ----------------------------------------
|
||||||
-- AUTOCMD
|
-- AUTOCMD
|
||||||
@@ -319,86 +298,37 @@ vim.api.nvim_create_user_command("ConvertEOL", function(opts)
|
|||||||
})
|
})
|
||||||
end, { nargs = 1 })
|
end, { nargs = 1 })
|
||||||
|
|
||||||
-- fix diff colors on some color schemes
|
|
||||||
-- https://codeyarns.com/tech/2011-07-29-vim-chart-of-color-names.html
|
|
||||||
vim.api.nvim_create_user_command("FixColors", function()
|
|
||||||
vim.api.nvim_set_hl(0, "CustomCursor", { fg = "salmon1", bg = "cyan" })
|
|
||||||
vim.api.nvim_set_hl(0, "CustomICursor", { fg = "salmon1", bg = "cyan" })
|
|
||||||
vim.api.nvim_set_hl(0, "ColorColumn", { bg = "salmon4" })
|
|
||||||
end, {})
|
|
||||||
|
|
||||||
-- ----------------------------------------
|
-- ----------------------------------------
|
||||||
-- SPECS
|
-- SPECS
|
||||||
-- ----------------------------------------
|
-- ----------------------------------------
|
||||||
|
|
||||||
local function makespecs_themes()
|
local function makespecs_themes()
|
||||||
return {
|
return {
|
||||||
{ "aktersnurra/no-clown-fiesta.nvim", opts = { transparent = false } },
|
|
||||||
"NLKNguyen/papercolor-theme",
|
|
||||||
"junegunn/seoul256.vim",
|
"junegunn/seoul256.vim",
|
||||||
"mcauley-penney/phobos-anomaly.nvim",
|
|
||||||
"folke/tokyonight.nvim",
|
"folke/tokyonight.nvim",
|
||||||
{ "bluz71/vim-moonfly-colors", name = "moonfly", lazy = false },
|
|
||||||
{
|
{
|
||||||
"uloco/bluloco.nvim",
|
"uloco/bluloco.nvim",
|
||||||
lazy = false,
|
lazy = false,
|
||||||
dependencies = { "rktjmp/lush.nvim" },
|
dependencies = { "rktjmp/lush.nvim" },
|
||||||
opts = {},
|
opts = {},
|
||||||
},
|
},
|
||||||
{
|
"sainnhe/gruvbox-material",
|
||||||
"mhartington/oceanic-next",
|
"sainnhe/everforest",
|
||||||
config = function()
|
"sainnhe/edge",
|
||||||
local customthemegroup = vim.api.nvim_create_augroup("customthemegroup", {})
|
"sainnhe/sonokai",
|
||||||
vim.api.nvim_create_autocmd("ColorScheme", {
|
{ "catppuccin/nvim", name = "catppuccin", opts = { auto_integrations = true } },
|
||||||
pattern = { "OceanicNext" },
|
|
||||||
group = customthemegroup,
|
|
||||||
callback = function()
|
|
||||||
vim.api.nvim_set_hl(0, "DiffAdded", { default = false, link = "DiffAdd" })
|
|
||||||
vim.api.nvim_set_hl(0, "DiffRemoved", { default = false, link = "DiffDelete" })
|
|
||||||
vim.api.nvim_set_hl(0, "Normal", {})
|
|
||||||
vim.api.nvim_set_hl(0, "LineNr", {})
|
|
||||||
vim.api.nvim_set_hl(0, "SignColumn", {})
|
|
||||||
vim.api.nvim_set_hl(0, "EndOfBuffer", {})
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
"morhetz/gruvbox",
|
|
||||||
{
|
|
||||||
"catppuccin/nvim",
|
|
||||||
name = "catppuccin",
|
|
||||||
-- opts = { integrations = { grug_far = true, mason = true, noice = true, snacks = true, which_key = true } },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Shatur/neovim-ayu",
|
|
||||||
init = function() vim.g.ayu_extended_palette = 1 end,
|
|
||||||
},
|
|
||||||
"tomasr/molokai",
|
|
||||||
"jnurmine/Zenburn",
|
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
local function makespec_lspconfig()
|
local function makespec_lspconfig()
|
||||||
local rootdirfix = function(root_markers)
|
|
||||||
return function(bufnr, on_dir)
|
|
||||||
on_dir(require("lspconfig").util.root_pattern(unpack(root_markers))(vim.fn.bufname(bufnr)))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return {
|
return {
|
||||||
"neovim/nvim-lspconfig",
|
"neovim/nvim-lspconfig",
|
||||||
lazy = false,
|
|
||||||
event = { "BufReadPost", "BufNewFile" },
|
|
||||||
cmd = { "LspInfo", "LspRestart", "LspStart", "LspStop" },
|
|
||||||
keys = { { "<F4>", "<cmd>LspInfo<cr>", noremap = true } },
|
|
||||||
config = function()
|
config = function()
|
||||||
|
-- Lua
|
||||||
vim.lsp.config("lua_ls", {
|
vim.lsp.config("lua_ls", {
|
||||||
cmd = { "lua-language-server" },
|
|
||||||
settings = {
|
settings = {
|
||||||
Lua = {
|
Lua = {
|
||||||
workspace = {
|
workspace = { checkThirdParty = false, library = { vim.env.VIMRUNTIME } },
|
||||||
checkThirdParty = false,
|
|
||||||
library = { vim.env.VIMRUNTIME },
|
|
||||||
},
|
|
||||||
telemetry = { enable = false },
|
telemetry = { enable = false },
|
||||||
diagnostics = { globals = { "vim" } },
|
diagnostics = { globals = { "vim" } },
|
||||||
format = { enable = false },
|
format = { enable = false },
|
||||||
@@ -434,7 +364,7 @@ local function makespec_lspconfig()
|
|||||||
vim.lsp.config("yamlls", {
|
vim.lsp.config("yamlls", {
|
||||||
settings = {
|
settings = {
|
||||||
yaml = {
|
yaml = {
|
||||||
schemas = { kubernetes = "/home/hjalmarlucius/src/hjarl/system/manifests/*.yaml" },
|
schemas = { kubernetes = vim.fn.expand("~/src/hjarl/system/manifests/*.yaml") },
|
||||||
-- schemaStore = { enable = false, url = "" },
|
-- schemaStore = { enable = false, url = "" },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -442,24 +372,21 @@ local function makespec_lspconfig()
|
|||||||
vim.lsp.config("ty", {
|
vim.lsp.config("ty", {
|
||||||
cmd = { "ty", "server" },
|
cmd = { "ty", "server" },
|
||||||
filetypes = { "python" },
|
filetypes = { "python" },
|
||||||
root_dir = rootdirfix({ ".git", "pyproject.toml", "setup.py", "setup.cfg" }),
|
root_markers = { ".git" },
|
||||||
settings = { ty = { experimental = { rename = true } } },
|
settings = { ty = { completions = { autoImport = false }, experimental = { rename = true } } },
|
||||||
})
|
})
|
||||||
vim.lsp.config("pyrefly", {
|
vim.lsp.config("pyrefly", {
|
||||||
cmd = { "pyrefly", "lsp" },
|
cmd = { "pyrefly", "lsp" },
|
||||||
filetypes = { "python" },
|
filetypes = { "python" },
|
||||||
root_dir = rootdirfix({ ".git", "pyproject.toml", "setup.py", "setup.cfg", "pyrefly.toml" }),
|
root_markers = { ".git" },
|
||||||
})
|
})
|
||||||
vim.lsp.config("pylsp", {
|
vim.lsp.config("pylsp", {
|
||||||
filetypes = { "python" },
|
filetypes = { "python" },
|
||||||
root_dir = rootdirfix({ ".git", "pyproject.toml", "setup.py", "setup.cfg" }),
|
root_markers = { ".git" },
|
||||||
settings = {
|
settings = {
|
||||||
pylsp = {
|
pylsp = {
|
||||||
plugins = {
|
plugins = {
|
||||||
pylsp_mypy = {
|
pylsp_mypy = { enabled = true, dmypy = true },
|
||||||
enabled = true,
|
|
||||||
dmypy = true,
|
|
||||||
},
|
|
||||||
pycodestyle = { enabled = false },
|
pycodestyle = { enabled = false },
|
||||||
mccabe = { enabled = false },
|
mccabe = { enabled = false },
|
||||||
},
|
},
|
||||||
@@ -469,11 +396,10 @@ local function makespec_lspconfig()
|
|||||||
vim.lsp.config("basedpyright", {
|
vim.lsp.config("basedpyright", {
|
||||||
cmd = { "basedpyright-langserver", "--stdio", "--threads", "20" },
|
cmd = { "basedpyright-langserver", "--stdio", "--threads", "20" },
|
||||||
filetypes = { "python" },
|
filetypes = { "python" },
|
||||||
root_dir = rootdirfix({ ".git", "pyproject.toml", "setup.py", "setup.cfg", "pyrightconfig.json" }),
|
root_markers = { ".git" },
|
||||||
settings = {
|
settings = {
|
||||||
python = {
|
python = {
|
||||||
analysis = {
|
analysis = {
|
||||||
-- logLevel = "Trace",
|
|
||||||
autoImportCompletions = false,
|
autoImportCompletions = false,
|
||||||
diagnosticMode = "workspace",
|
diagnosticMode = "workspace",
|
||||||
logTypeEvaluationTime = true,
|
logTypeEvaluationTime = true,
|
||||||
@@ -490,16 +416,12 @@ local function makespec_lspconfig()
|
|||||||
autoUseWorkspaceTsdk = true,
|
autoUseWorkspaceTsdk = true,
|
||||||
experimental = {
|
experimental = {
|
||||||
maxInlayHintLength = 30,
|
maxInlayHintLength = 30,
|
||||||
completion = {
|
completion = { enableServerSideFuzzyMatch = true },
|
||||||
enableServerSideFuzzyMatch = true,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
javascript = {
|
javascript = {
|
||||||
updateImportsOnFileMove = { enabled = "always" },
|
updateImportsOnFileMove = { enabled = "always" },
|
||||||
suggest = {
|
suggest = { completeFunctionCalls = true },
|
||||||
completeFunctionCalls = true,
|
|
||||||
},
|
|
||||||
inlayHints = {
|
inlayHints = {
|
||||||
enumMemberValues = { enabled = true },
|
enumMemberValues = { enabled = true },
|
||||||
functionLikeReturnTypes = { enabled = true },
|
functionLikeReturnTypes = { enabled = true },
|
||||||
@@ -511,9 +433,7 @@ local function makespec_lspconfig()
|
|||||||
},
|
},
|
||||||
typescript = {
|
typescript = {
|
||||||
updateImportsOnFileMove = { enabled = "always" },
|
updateImportsOnFileMove = { enabled = "always" },
|
||||||
suggest = {
|
suggest = { completeFunctionCalls = true },
|
||||||
completeFunctionCalls = true,
|
|
||||||
},
|
|
||||||
inlayHints = {
|
inlayHints = {
|
||||||
enumMemberValues = { enabled = true },
|
enumMemberValues = { enabled = true },
|
||||||
functionLikeReturnTypes = { enabled = true },
|
functionLikeReturnTypes = { enabled = true },
|
||||||
@@ -526,6 +446,18 @@ local function makespec_lspconfig()
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
vim.lsp.config("tinymist", {
|
||||||
|
cmd = { "tinymist" },
|
||||||
|
filetypes = { "typst" },
|
||||||
|
root_markers = { ".git", "typst.toml" },
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.config("bashls", {
|
||||||
|
cmd = { "bash-language-server", "start" },
|
||||||
|
filetypes = { "sh", "bash" },
|
||||||
|
root_markers = { ".git" },
|
||||||
|
})
|
||||||
|
|
||||||
vim.lsp.enable("bashls")
|
vim.lsp.enable("bashls")
|
||||||
vim.lsp.enable("clangd")
|
vim.lsp.enable("clangd")
|
||||||
vim.lsp.enable("html")
|
vim.lsp.enable("html")
|
||||||
@@ -537,7 +469,55 @@ local function makespec_lspconfig()
|
|||||||
vim.lsp.enable("tinymist")
|
vim.lsp.enable("tinymist")
|
||||||
vim.lsp.enable("vtsls")
|
vim.lsp.enable("vtsls")
|
||||||
vim.lsp.enable("yamlls")
|
vim.lsp.enable("yamlls")
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
|
group = vim.api.nvim_create_augroup("DefeatFtpluginOmnifunc", { clear = true }),
|
||||||
|
pattern = { "python" },
|
||||||
|
callback = function(ev)
|
||||||
|
vim.schedule(function()
|
||||||
|
if vim.api.nvim_buf_is_valid(ev.buf) then vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc" end
|
||||||
|
end)
|
||||||
end,
|
end,
|
||||||
|
})
|
||||||
|
vim.api.nvim_create_autocmd("LspAttach", {
|
||||||
|
group = vim.api.nvim_create_augroup("UserLspConfig", { clear = true }),
|
||||||
|
callback = function(ev)
|
||||||
|
local bmap = function(mode, keys, func, desc)
|
||||||
|
vim.keymap.set(mode, keys, func, { buffer = ev.buf, desc = desc, silent = true })
|
||||||
|
end
|
||||||
|
|
||||||
|
bmap("n", "gd", vim.lsp.buf.definition, "Goto Definition")
|
||||||
|
bmap("n", "gD", vim.lsp.buf.declaration, "Goto Declaration")
|
||||||
|
bmap("n", "gy", vim.lsp.buf.type_definition, "Goto Type Definition")
|
||||||
|
bmap({ "n", "i" }, "<M-x>", vim.lsp.buf.signature_help, "Signature Help")
|
||||||
|
bmap("i", "<C-Space>", "<C-x><C-o>", "Trigger LSP Completion")
|
||||||
|
bmap("i", "<C-l>", "<C-n>", "Buffer/Keyword Completion")
|
||||||
|
bmap("i", "<C-f>", "<C-x><C-f>", "File Path Completion")
|
||||||
|
|
||||||
|
local client = vim.lsp.get_client_by_id(ev.data.client_id)
|
||||||
|
if client and client.server_capabilities.inlayHintProvider and vim.lsp.inlay_hint then
|
||||||
|
bmap(
|
||||||
|
"n",
|
||||||
|
"<leader>uh",
|
||||||
|
function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) end,
|
||||||
|
"Toggle Inlay Hints"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
local function makespec_smearcursor()
|
||||||
|
return {
|
||||||
|
"sphamba/smear-cursor.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = {
|
||||||
|
enabled = false, -- Dormant on startup
|
||||||
|
stiffness = 0.8,
|
||||||
|
trailing_stiffness = 0.5,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -545,9 +525,7 @@ local function makespec_hexokinase()
|
|||||||
return {
|
return {
|
||||||
-- coloring of colornames
|
-- coloring of colornames
|
||||||
"rrethy/vim-hexokinase",
|
"rrethy/vim-hexokinase",
|
||||||
build = function(plugin)
|
build = function(plugin) vim.system({ "make", "hexokinase" }, { cwd = plugin.dir }):wait() end,
|
||||||
vim.system({ "make", "hexokinase" }, { cwd = plugin.dir }):wait()
|
|
||||||
end,
|
|
||||||
config = function() vim.g.Hexokinase_highlighters = { "virtual" } end,
|
config = function() vim.g.Hexokinase_highlighters = { "virtual" } end,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
@@ -557,7 +535,12 @@ local function makespec_lualine()
|
|||||||
"nvim-lualine/lualine.nvim",
|
"nvim-lualine/lualine.nvim",
|
||||||
dependencies = { "echasnovski/mini.icons", "folke/noice.nvim" },
|
dependencies = { "echasnovski/mini.icons", "folke/noice.nvim" },
|
||||||
opts = {
|
opts = {
|
||||||
options = { theme = "auto", globalstatus = false, always_divide_middle = false },
|
options = {
|
||||||
|
theme = "auto",
|
||||||
|
globalstatus = false,
|
||||||
|
always_divide_middle = false,
|
||||||
|
disabled_filetypes = { statusline = { "snacks_picker_list" } },
|
||||||
|
},
|
||||||
extensions = { "fugitive", "neo-tree", "lazy" },
|
extensions = { "fugitive", "neo-tree", "lazy" },
|
||||||
sections = {
|
sections = {
|
||||||
lualine_a = { "mode" },
|
lualine_a = { "mode" },
|
||||||
@@ -595,7 +578,6 @@ local function makespec_lualine()
|
|||||||
lualine_b = {},
|
lualine_b = {},
|
||||||
lualine_c = {},
|
lualine_c = {},
|
||||||
lualine_x = {
|
lualine_x = {
|
||||||
-- { 'require("noice").api.status.message.get()', color = { fg = "#99c794" } }, -- gets too obtrusive
|
|
||||||
{ 'require("noice").api.status.mode.get()', color = "lualine_a_command" },
|
{ 'require("noice").api.status.mode.get()', color = "lualine_a_command" },
|
||||||
{ 'require("noice").api.status.command.get()', color = "lualine_a_command" },
|
{ 'require("noice").api.status.command.get()', color = "lualine_a_command" },
|
||||||
},
|
},
|
||||||
@@ -743,7 +725,7 @@ local function makespecs_previewers()
|
|||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"chomosuke/typst-preview.nvim",
|
"chomosuke/typst-preview.nvim",
|
||||||
lazy = false, -- or ft = 'typst'
|
lazy = false,
|
||||||
version = "1.*",
|
version = "1.*",
|
||||||
opts = {
|
opts = {
|
||||||
-- debug = true,
|
-- debug = true,
|
||||||
@@ -754,16 +736,9 @@ local function makespecs_previewers()
|
|||||||
get_root = function(filename)
|
get_root = function(filename)
|
||||||
local root = os.getenv("TYPST_ROOT")
|
local root = os.getenv("TYPST_ROOT")
|
||||||
if root then return root end
|
if root then return root end
|
||||||
local dir0 = vim.fn.fnamemodify(filename, ":p:h")
|
local git_root = vim.fs.root(filename, ".git")
|
||||||
local dir = dir0
|
if git_root then return git_root end
|
||||||
for _ = 1, 10 do
|
return vim.fn.fnamemodify(filename, ":p:h")
|
||||||
if vim.fn.isdirectory(dir .. "/.git/") ~= 0 or vim.fn.filereadable(dir .. "/.git") ~= 0 then
|
|
||||||
print("root dir: " .. dir)
|
|
||||||
return dir
|
|
||||||
end
|
|
||||||
dir = vim.fn.fnamemodify(dir, ":p:h:h")
|
|
||||||
end
|
|
||||||
return dir0
|
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -867,16 +842,17 @@ local function makespec_fugitive()
|
|||||||
"GBrowse",
|
"GBrowse",
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
vim.api.nvim_create_autocmd("User", {
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
pattern = { "FugitiveCommit", "BufReadPost" },
|
group = vim.api.nvim_create_augroup("fugitive_folds", { clear = true }),
|
||||||
|
pattern = { "fugitive", "gitcommit" },
|
||||||
callback = function()
|
callback = function()
|
||||||
vim.opt_local.foldmethod = "syntax"
|
vim.opt_local.foldmethod = "expr"
|
||||||
vim.opt_local.foldlevel = 0
|
vim.opt_local.foldlevel = 99
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
keys = {
|
keys = {
|
||||||
{ "<leader>gg", "<cmd>vertical Git<cr>", desc = "Fugitive" },
|
{ "<leader>gg", "<cmd>vertical Git<cr>", desc = "Fugitive Status" },
|
||||||
{ "<leader>gp", "<cmd>Git! push<cr>", desc = "Git Push" },
|
{ "<leader>gp", "<cmd>Git! push<cr>", desc = "Git Push" },
|
||||||
{ "<leader>gP", "<cmd>Git! push -f<cr>", desc = "Git Force Push" },
|
{ "<leader>gP", "<cmd>Git! push -f<cr>", desc = "Git Force Push" },
|
||||||
},
|
},
|
||||||
@@ -885,7 +861,7 @@ end
|
|||||||
|
|
||||||
local function makespec_gitsigns()
|
local function makespec_gitsigns()
|
||||||
local function on_gitsigns_attach(bufnr)
|
local function on_gitsigns_attach(bufnr)
|
||||||
local gs = require("gitsigns")
|
local gs = package.loaded.gitsigns
|
||||||
local function next_hunk()
|
local function next_hunk()
|
||||||
if vim.wo.diff then
|
if vim.wo.diff then
|
||||||
vim.cmd.normal({ "]c", bang = true })
|
vim.cmd.normal({ "]c", bang = true })
|
||||||
@@ -901,43 +877,45 @@ local function makespec_gitsigns()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function bmap(l, r, desc, mode) vim.keymap.set(mode or "n", l, r, { buffer = bufnr, desc = desc }) end
|
local function bmap(mode, l, r, desc) vim.keymap.set(mode, l, r, { buffer = bufnr, desc = desc }) end
|
||||||
|
|
||||||
-- Navigation
|
-- Navigation
|
||||||
bmap("<M-,>", next_hunk, "Prev Hunk")
|
bmap("n", "<M-,>", next_hunk, "Prev Hunk")
|
||||||
bmap("<M-.>", prev_hunk, "Next Hunk")
|
bmap("n", "<M-.>", prev_hunk, "Next Hunk")
|
||||||
bmap("[h", prev_hunk, "Prev Hunk")
|
bmap("n", "[h", prev_hunk, "Prev Hunk")
|
||||||
bmap("]h", next_hunk, "Next Hunk")
|
bmap("n", "]h", next_hunk, "Next Hunk")
|
||||||
|
|
||||||
-- Blame
|
-- Blame
|
||||||
bmap("<leader>gB", gs.blame, "Blame Buffer")
|
bmap("n", "<leader>gB", gs.blame, "Blame Buffer")
|
||||||
bmap("<leader>gb", function() gs.blame_line({ full = true }) end, "Blame Line")
|
bmap("n", "<leader>gb", function() gs.blame_line({ full = true }) end, "Blame Line")
|
||||||
|
|
||||||
-- Hunk
|
-- Hunk
|
||||||
bmap("<leader>gI", gs.preview_hunk_inline, "Preview Hunk Inline")
|
bmap("n", "<leader>gi", gs.preview_hunk_inline, "Preview Hunk Inline")
|
||||||
bmap("<leader>gi", gs.preview_hunk, "Preview Hunk")
|
bmap("n", "<leader>gp", gs.preview_hunk, "Preview Hunk")
|
||||||
bmap("<leader>gq", gs.setqflist, "File Hunks to QuickFix")
|
bmap("n", "<leader>gq", gs.setqflist, "File Hunks to QuickFix")
|
||||||
bmap("<leader>gQ", function() gs.setqflist("all") end, "All Hunks to QuickFix")
|
bmap("n", "<leader>gQ", function() gs.setqflist("all") end, "All Hunks to QuickFix")
|
||||||
bmap("<leader>gx", gs.reset_hunk, "Reset Hunk")
|
bmap("n", "<leader>gx", gs.reset_hunk, "Reset Hunk")
|
||||||
bmap("<leader>gx", function() gs.reset_hunk({ vim.fn.line("."), vim.fn.line("v") }) end, "Reset Hunk", "v")
|
bmap("v", "<leader>gx", function() gs.reset_hunk({ vim.fn.line("."), vim.fn.line("v") }) end, "Reset Selection")
|
||||||
bmap("<leader>gR", gs.reset_buffer, "Reset Buffer")
|
bmap("n", "<leader>gR", gs.reset_buffer, "Reset Buffer")
|
||||||
bmap("<leader>gs", gs.stage_hunk, "Stage Hunk")
|
bmap("n", "<leader>gs", gs.stage_hunk, "Stage Hunk")
|
||||||
bmap("<leader>gs", function() gs.stage_hunk({ vim.fn.line("."), vim.fn.line("v") }) end, "Stage Hunk", "v")
|
bmap("v", "<leader>gs", function() gs.stage_hunk({ vim.fn.line("."), vim.fn.line("v") }) end, "Stage Selection")
|
||||||
bmap("<leader>gS", gs.stage_buffer, "Stage Buffer")
|
bmap("n", "<leader>gS", gs.stage_buffer, "Stage Buffer")
|
||||||
bmap("<leader>gv", gs.select_hunk, "Select Hunk", { "n", "v" })
|
bmap({ "n", "v" }, "<leader>gv", gs.select_hunk, "Select Hunk")
|
||||||
|
|
||||||
-- Toggles
|
-- Toggles
|
||||||
bmap("<leader>gtw", gs.toggle_word_diff, "Toggle Diff Word Colors")
|
bmap("n", "<leader>gtw", gs.toggle_word_diff, "Toggle Diff Word Colors")
|
||||||
bmap("<leader>gtl", gs.toggle_linehl, "Toggle Diff Line Highlight")
|
bmap("n", "<leader>gtl", gs.toggle_linehl, "Toggle Diff Line Highlight")
|
||||||
bmap("<leader>gtb", gs.toggle_current_line_blame, "Toggle Line Blame")
|
bmap("n", "<leader>gtn", gs.toggle_numhl, "Toggle Diff Line Number Highlight")
|
||||||
bmap("<leader>gtn", gs.toggle_numhl, "Toggle Diff Line Number Highlight")
|
bmap("n", "<leader>gtb", gs.toggle_current_line_blame, "Toggle Line Blame")
|
||||||
|
bmap("n", "<leader>gtd", gs.toggle_deleted, "Toggle Deleted")
|
||||||
|
|
||||||
-- Text object, e.g. for dih to delete hunk
|
-- Text object, e.g. for dih to delete hunk
|
||||||
bmap("ih", "<cmd>Gitsigns select_hunk<CR>", "Select Hunk", { "o", "x" })
|
bmap({ "o", "x" }, "ih", ":<C-U>Gitsigns select_hunk<CR>", "Select Hunk")
|
||||||
end
|
end
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"lewis6991/gitsigns.nvim",
|
"lewis6991/gitsigns.nvim",
|
||||||
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
opts = {
|
opts = {
|
||||||
signcolumn = true,
|
signcolumn = true,
|
||||||
numhl = false,
|
numhl = false,
|
||||||
@@ -966,7 +944,6 @@ local function makespec_whichkey()
|
|||||||
"folke/which-key.nvim",
|
"folke/which-key.nvim",
|
||||||
event = "VeryLazy",
|
event = "VeryLazy",
|
||||||
opts = {
|
opts = {
|
||||||
defaults = {},
|
|
||||||
spec = {
|
spec = {
|
||||||
{
|
{
|
||||||
mode = { "n", "v" },
|
mode = { "n", "v" },
|
||||||
@@ -983,6 +960,12 @@ local function makespec_whichkey()
|
|||||||
{ "[", group = "prev" },
|
{ "[", group = "prev" },
|
||||||
{ "]", group = "next" },
|
{ "]", group = "next" },
|
||||||
{ "g", group = "goto" },
|
{ "g", group = "goto" },
|
||||||
|
{ "gr", group = "lsp actions", icon = { icon = " ", color = "purple" } },
|
||||||
|
{ "gra", desc = "Code Action" },
|
||||||
|
{ "gri", desc = "Goto Implementation" },
|
||||||
|
{ "grn", desc = "Rename Symbol" },
|
||||||
|
{ "grr", desc = "Goto References" },
|
||||||
|
{ "gy", desc = "Goto Type Definition" },
|
||||||
{ "gs", group = "surround" },
|
{ "gs", group = "surround" },
|
||||||
{ "z", group = "fold" },
|
{ "z", group = "fold" },
|
||||||
{ "<leader><tab>", group = "tabs" },
|
{ "<leader><tab>", group = "tabs" },
|
||||||
@@ -1000,7 +983,7 @@ local function makespec_whichkey()
|
|||||||
keys = {
|
keys = {
|
||||||
{
|
{
|
||||||
"<leader>?",
|
"<leader>?",
|
||||||
function() require("which-key").show({ global = false }) end,
|
function() require("which-key").show({ global = true }) end,
|
||||||
desc = "Buffer Keymaps (which-key)",
|
desc = "Buffer Keymaps (which-key)",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1044,27 +1027,13 @@ local function makespec_snacks()
|
|||||||
notify = true, -- show notification when big file detected
|
notify = true, -- show notification when big file detected
|
||||||
size = 1.5 * 1024 * 1024, -- 1.5MB
|
size = 1.5 * 1024 * 1024, -- 1.5MB
|
||||||
line_length = 1000, -- average line length (useful for minified files)
|
line_length = 1000, -- average line length (useful for minified files)
|
||||||
-- Enable or disable features when big file detected
|
|
||||||
---@param ctx {buf: number, ft:string}
|
|
||||||
setup = function(ctx)
|
|
||||||
if vim.fn.exists(":NoMatchParen") ~= 0 then vim.cmd([[NoMatchParen]]) end
|
|
||||||
Snacks.util.wo(0, { foldmethod = "manual", statuscolumn = "", conceallevel = 0 })
|
|
||||||
vim.schedule(function()
|
|
||||||
if vim.api.nvim_buf_is_valid(ctx.buf) then vim.bo[ctx.buf].syntax = ctx.ft end
|
|
||||||
end)
|
|
||||||
end,
|
|
||||||
},
|
},
|
||||||
bufdelete = { enabled = true },
|
bufdelete = { enabled = true },
|
||||||
debug = { enabled = true },
|
debug = { enabled = true },
|
||||||
image = { enabled = true },
|
image = { enabled = true },
|
||||||
indent = { enabled = true },
|
indent = { enabled = true },
|
||||||
lazygit = { enabled = vim.fn.has("lazygit") == 1 },
|
lazygit = { enabled = vim.fn.has("lazygit") == 1 },
|
||||||
notifier = {
|
notifier = { enabled = true, style = "minimal", refresh = 500, top_down = false },
|
||||||
enabled = true,
|
|
||||||
style = "minimal",
|
|
||||||
refresh = 500,
|
|
||||||
top_down = false,
|
|
||||||
},
|
|
||||||
---@class snacks.picker
|
---@class snacks.picker
|
||||||
picker = {
|
picker = {
|
||||||
formatters = { file = { filename_first = true } },
|
formatters = { file = { filename_first = true } },
|
||||||
@@ -1084,12 +1053,7 @@ local function makespec_snacks()
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
toggle = { enabled = true },
|
toggle = { enabled = true },
|
||||||
styles = {
|
styles = { lazygit = { width = 0, height = 0 } },
|
||||||
lazygit = {
|
|
||||||
width = 0,
|
|
||||||
height = 0,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
-- stylua: ignore
|
-- stylua: ignore
|
||||||
keys = {
|
keys = {
|
||||||
@@ -1102,10 +1066,10 @@ local function makespec_snacks()
|
|||||||
{ "<M-f>", function() Snacks.picker.git_files() end, desc = "Find Git Files" },
|
{ "<M-f>", function() Snacks.picker.git_files() end, desc = "Find Git Files" },
|
||||||
{ "<leader>fg", function() Snacks.picker.git_files() end, desc = "Find Git Files" },
|
{ "<leader>fg", function() Snacks.picker.git_files() end, desc = "Find Git Files" },
|
||||||
{ "<leader>fa", function() Snacks.picker.files() end, desc = "Find Files" },
|
{ "<leader>fa", function() Snacks.picker.files() end, desc = "Find Files" },
|
||||||
{ "<leader>fc", function() Snacks.picker.files({ cwd = "/home/hjalmarlucius/dotfiles", title="Find Configs" }) end, desc = "Find Config" },
|
{ "<leader>fc", function() Snacks.picker.files({ cwd = vim.fn.expand("~/dotfiles"), title="Find Configs" }) end, desc = "Find Config" },
|
||||||
{ "<leader>fn", function() Snacks.picker.files({ cwd = "/home/hjalmarlucius/notes", title="Find Notes" }) end, desc = "Find Note", },
|
{ "<leader>fn", function() Snacks.picker.files({ cwd = vim.fn.expand("~/notes"), title="Find Notes" }) end, desc = "Find Note", },
|
||||||
-- logs
|
-- logs
|
||||||
{ "<leader>ll", function() Snacks.picker.notifications() end, desc = "Notification History" },
|
{ "<leader>ll", function() Snacks.notifier.show_history() end, desc = "Notification History" },
|
||||||
-- code
|
-- code
|
||||||
{ "<leader>cs", function() Snacks.picker.lsp_symbols() end, desc = "LSP Symbols" },
|
{ "<leader>cs", function() Snacks.picker.lsp_symbols() end, desc = "LSP Symbols" },
|
||||||
{ "<leader>cw", function() Snacks.picker.lsp_workspace_symbols() end, desc = "LSP Workspace Symbols" },
|
{ "<leader>cw", function() Snacks.picker.lsp_workspace_symbols() end, desc = "LSP Workspace Symbols" },
|
||||||
@@ -1154,6 +1118,12 @@ local function makespec_snacks()
|
|||||||
Snacks.toggle.option("spell", { name = "Spelling" }):map("<leader>us")
|
Snacks.toggle.option("spell", { name = "Spelling" }):map("<leader>us")
|
||||||
Snacks.toggle.treesitter():map("<leader>ut")
|
Snacks.toggle.treesitter():map("<leader>ut")
|
||||||
Snacks.toggle.option("wrap", { name = "Wrap" }):map("<leader>uw")
|
Snacks.toggle.option("wrap", { name = "Wrap" }):map("<leader>uw")
|
||||||
|
-- Toggle for Smear Cursor
|
||||||
|
Snacks.toggle({
|
||||||
|
name = "Smear Cursor",
|
||||||
|
get = function() return require("smear_cursor").enabled end,
|
||||||
|
set = function(state) require("smear_cursor").enabled = state end,
|
||||||
|
}):map("<leader>uS")
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
@@ -1167,6 +1137,25 @@ local function makespecs_mini()
|
|||||||
opts = { options = { basic = true, extra_ui = true }, mappings = { move_with_alt = true } },
|
opts = { options = { basic = true, extra_ui = true }, mappings = { move_with_alt = true } },
|
||||||
},
|
},
|
||||||
{ "echasnovski/mini.icons", opts = {} },
|
{ "echasnovski/mini.icons", opts = {} },
|
||||||
|
{
|
||||||
|
"echasnovski/mini.bracketed",
|
||||||
|
version = false,
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = {
|
||||||
|
-- Disabled because your custom LSP mappings (]e, ]w) are better!
|
||||||
|
diagnostic = { suffix = "", options = {} },
|
||||||
|
|
||||||
|
-- These are the heavy hitters. They map [ and ] automatically.
|
||||||
|
buffer = { suffix = "b", options = {} }, -- ]b / [b
|
||||||
|
quickfix = { suffix = "q", options = {} }, -- ]q / [q
|
||||||
|
location = { suffix = "l", options = {} }, -- ]l / [l
|
||||||
|
yank = { suffix = "y", options = {} }, -- ]y / [y (cycle pasted text)
|
||||||
|
indent = { suffix = "i", options = {} }, -- ]i / [i (match indent level)
|
||||||
|
file = { suffix = "f", options = {} }, -- ]f / [f (next file on disk)
|
||||||
|
window = { suffix = "w", options = {} }, -- ]w / [w (cycle windows)
|
||||||
|
undo = { suffix = "u", options = {} }, -- ]u / [u (traverse undo tree)
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"echasnovski/mini.surround",
|
"echasnovski/mini.surround",
|
||||||
version = false,
|
version = false,
|
||||||
@@ -1235,15 +1224,15 @@ local function makespec_smartsplits()
|
|||||||
lazy = false,
|
lazy = false,
|
||||||
-- stylua: ignore
|
-- stylua: ignore
|
||||||
keys = {
|
keys = {
|
||||||
{ "<M-h>", function() require("smart-splits").move_cursor_left() end, { desc = "Go to Left Window", remap = true } },
|
{ "<M-h>", function() require("smart-splits").move_cursor_left() end, desc = "Go to Left Window" },
|
||||||
{ "<M-j>", function() require("smart-splits").move_cursor_down() end, { desc = "Go to Left Window", remap = true } },
|
{ "<M-j>", function() require("smart-splits").move_cursor_down() end, desc = "Go to Lower Window" },
|
||||||
{ "<M-k>", function() require("smart-splits").move_cursor_up() end, { desc = "Go to Left Window", remap = true } },
|
{ "<M-k>", function() require("smart-splits").move_cursor_up() end, desc = "Go to Upper Window" },
|
||||||
{ "<M-l>", function() require("smart-splits").move_cursor_right() end, { desc = "Go to Left Window", remap = true } },
|
{ "<M-l>", function() require("smart-splits").move_cursor_right() end, desc = "Go to Right Window" },
|
||||||
{ "<M-\\>", function() require("smart-splits").move_cursor_previous() end, { desc = "Go to Previous Window", remap = true } },
|
{ "<M-\\>", function() require("smart-splits").move_cursor_previous() end, desc = "Go to Previous Window" },
|
||||||
{ "<C-h>", function() require("smart-splits").resize_left() end, { desc = "Resize Window Left", remap = true } },
|
{ "<C-h>", function() require("smart-splits").resize_left() end, desc = "Resize Window Left" },
|
||||||
{ "<C-j>", function() require("smart-splits").resize_down() end, { desc = "Resize Window Down", remap = true } },
|
{ "<C-j>", function() require("smart-splits").resize_down() end, desc = "Resize Window Down" },
|
||||||
{ "<C-k>", function() require("smart-splits").resize_up() end, { desc = "Resize Window Up", remap = true } },
|
{ "<C-k>", function() require("smart-splits").resize_up() end, desc = "Resize Window Up" },
|
||||||
{ "<C-l>", function() require("smart-splits").resize_right() end, { desc = "Resize Window Right", remap = true } },
|
{ "<C-l>", function() require("smart-splits").resize_right() end, desc = "Resize Window Right" },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
@@ -1305,7 +1294,7 @@ local function makespec_flash()
|
|||||||
exclude = {
|
exclude = {
|
||||||
function(win)
|
function(win)
|
||||||
return vim.bo[vim.api.nvim_win_get_buf(win)].filetype
|
return vim.bo[vim.api.nvim_win_get_buf(win)].filetype
|
||||||
~= "snacks_picker_list"
|
== "snacks_picker_list"
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -1352,6 +1341,8 @@ local function makespec_treesitter()
|
|||||||
return {
|
return {
|
||||||
"nvim-treesitter/nvim-treesitter",
|
"nvim-treesitter/nvim-treesitter",
|
||||||
build = ":TSUpdate",
|
build = ":TSUpdate",
|
||||||
|
lazy = false,
|
||||||
|
main = "nvim-treesitter.configs",
|
||||||
opts = {
|
opts = {
|
||||||
ensure_installed = {
|
ensure_installed = {
|
||||||
"bash",
|
"bash",
|
||||||
@@ -1381,10 +1372,34 @@ local function makespec_treesitter()
|
|||||||
},
|
},
|
||||||
auto_install = true,
|
auto_install = true,
|
||||||
highlight = { enable = true },
|
highlight = { enable = true },
|
||||||
indent = { enable = true, disable = { "python" } },
|
indent = {
|
||||||
-- incremental_selection done by flash plugin
|
enable = true,
|
||||||
|
disable = function(lang, buf) return lang == "python" end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
local function makespec_treewalker()
|
||||||
|
return {
|
||||||
|
"aaronik/treewalker.nvim",
|
||||||
|
-- Load when you open a file that Treesitter supports
|
||||||
|
event = { "BufReadPost", "BufNewFile" },
|
||||||
|
opts = {
|
||||||
|
-- Briefly highlights the block of code you just jumped to
|
||||||
|
highlight = true,
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
-- Normal and Visual mode mappings
|
||||||
|
{ "]]", "<cmd>Treewalker Down<cr>", mode = { "n", "v" }, desc = "Next Sibling (Current Level)" },
|
||||||
|
{ "[[", "<cmd>Treewalker Up<cr>", mode = { "n", "v" }, desc = "Prev Sibling (Current Level)" },
|
||||||
|
{ "((", "<cmd>Treewalker Left<cr>", mode = { "n", "v" }, desc = "Go Out (Parent Level)" },
|
||||||
|
{ "))", "<cmd>Treewalker Right<cr>", mode = { "n", "v" }, desc = "Go In (Child Level)" },
|
||||||
|
|
||||||
|
-- Optional: Swap nodes! (Move current block down/up past its sibling)
|
||||||
|
{ "<leader>Sj", "<cmd>Treewalker SwapDown<cr>", desc = "Swap Block Down" },
|
||||||
|
{ "<leader>Sk", "<cmd>Treewalker SwapUp<cr>", desc = "Swap Block Up" },
|
||||||
},
|
},
|
||||||
init = function() vim.opt.foldexpr = "nvim_treesitter#foldexpr()" end,
|
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1418,15 +1433,20 @@ end
|
|||||||
local function makespec_lint()
|
local function makespec_lint()
|
||||||
return {
|
return {
|
||||||
"mfussenegger/nvim-lint",
|
"mfussenegger/nvim-lint",
|
||||||
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
config = function()
|
config = function()
|
||||||
require("lint").linters_by_ft = {
|
local lint = require("lint")
|
||||||
|
lint.linters_by_ft = {
|
||||||
javascript = { "eslint_d" },
|
javascript = { "eslint_d" },
|
||||||
typescript = { "eslint_d" },
|
typescript = { "eslint_d" },
|
||||||
html = { "tidy", "eslint_d" },
|
html = { "tidy", "eslint_d" },
|
||||||
go = { "golangcilint" },
|
go = { "golangcilint" },
|
||||||
sh = { "shellcheck" },
|
sh = { "shellcheck" },
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local lint_augroup = vim.api.nvim_create_augroup("nvim_lint", { clear = true })
|
||||||
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
|
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
|
||||||
|
group = lint_augroup,
|
||||||
callback = function() require("lint").try_lint() end,
|
callback = function() require("lint").try_lint() end,
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
@@ -1436,14 +1456,26 @@ end
|
|||||||
local function makespec_conform()
|
local function makespec_conform()
|
||||||
return {
|
return {
|
||||||
"stevearc/conform.nvim",
|
"stevearc/conform.nvim",
|
||||||
lazy = true,
|
-- Load conform right before you save a file, or when you trigger a keymap
|
||||||
|
event = { "BufWritePre" },
|
||||||
cmd = { "ConformInfo" },
|
cmd = { "ConformInfo" },
|
||||||
keys = {
|
keys = {
|
||||||
{ "<leader>p", function() require("conform").format() end, silent = true, desc = "Autoformat" },
|
{
|
||||||
|
"<leader>p",
|
||||||
|
function() require("conform").format({ async = true, lsp_format = "fallback" }) end,
|
||||||
|
mode = { "n", "v" },
|
||||||
|
desc = "Autoformat",
|
||||||
|
},
|
||||||
{ "<leader>lp", "<cmd>ConformInfo<cr>", desc = "Conform log" },
|
{ "<leader>lp", "<cmd>ConformInfo<cr>", desc = "Conform log" },
|
||||||
{ "<leader>lP", "<cmd>e ~/.local/state/nvim/conform.log<cr>", desc = "Conform log" },
|
{ "<leader>lP", "<cmd>e ~/.local/state/nvim/conform.log<cr>", desc = "Conform log file" },
|
||||||
},
|
},
|
||||||
opts = {
|
opts = {
|
||||||
|
-- format_on_save = function(bufnr)
|
||||||
|
-- -- Disable with a global or buffer-local variable
|
||||||
|
-- if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then return end
|
||||||
|
-- return { timeout_ms = 3000, lsp_format = "fallback" }
|
||||||
|
-- end,
|
||||||
|
|
||||||
formatters_by_ft = {
|
formatters_by_ft = {
|
||||||
["_"] = { "trim_whitespace" },
|
["_"] = { "trim_whitespace" },
|
||||||
css = { "prettierd", "prettier", stop_after_first = true },
|
css = { "prettierd", "prettier", stop_after_first = true },
|
||||||
@@ -1462,7 +1494,6 @@ local function makespec_conform()
|
|||||||
yaml = { "yamlfmt" },
|
yaml = { "yamlfmt" },
|
||||||
},
|
},
|
||||||
default_format_opts = {
|
default_format_opts = {
|
||||||
timeout_ms = 3000,
|
|
||||||
lsp_format = "fallback",
|
lsp_format = "fallback",
|
||||||
},
|
},
|
||||||
formatters = {
|
formatters = {
|
||||||
@@ -1493,17 +1524,12 @@ local function makespec_avante()
|
|||||||
providers = {
|
providers = {
|
||||||
openai = {
|
openai = {
|
||||||
model = "gpt-4.1",
|
model = "gpt-4.1",
|
||||||
extra_request_body = {
|
extra_request_body = { temperature = 0 },
|
||||||
temperature = 0,
|
|
||||||
},
|
|
||||||
max_tokens = 4096,
|
max_tokens = 4096,
|
||||||
},
|
},
|
||||||
gemini = {
|
gemini = {
|
||||||
model = "gemini-2.5-flash",
|
model = "gemini-2.5-flash",
|
||||||
extra_request_body = {
|
extra_request_body = { temperature = 0, max_tokens = 4096 },
|
||||||
temperature = 0,
|
|
||||||
max_tokens = 4096,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
ignore_patterns = {
|
ignore_patterns = {
|
||||||
@@ -1556,13 +1582,15 @@ local function makespec_noice()
|
|||||||
return {
|
return {
|
||||||
"folke/noice.nvim",
|
"folke/noice.nvim",
|
||||||
event = "VeryLazy",
|
event = "VeryLazy",
|
||||||
dependencies = { "MunifTanjim/nui.nvim", "rcarriga/nvim-notify" },
|
dependencies = { "MunifTanjim/nui.nvim" },
|
||||||
opts = {
|
opts = {
|
||||||
|
-- Disable Noice's notification router so Snacks can handle it
|
||||||
|
notify = { enabled = false },
|
||||||
messages = {
|
messages = {
|
||||||
enabled = true,
|
enabled = true,
|
||||||
view = "notify",
|
view = "mini",
|
||||||
view_error = "notify",
|
view_error = "mini",
|
||||||
view_warn = "notify",
|
view_warn = "mini",
|
||||||
view_history = "popup",
|
view_history = "popup",
|
||||||
view_search = false,
|
view_search = false,
|
||||||
},
|
},
|
||||||
@@ -1570,24 +1598,24 @@ local function makespec_noice()
|
|||||||
override = {
|
override = {
|
||||||
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
||||||
["vim.lsp.util.stylize_markdown"] = true,
|
["vim.lsp.util.stylize_markdown"] = true,
|
||||||
|
["cmp.entry.get_documentation"] = true,
|
||||||
},
|
},
|
||||||
signature = { enabled = true, auto_open = { enabled = false, throttle = 50 } },
|
signature = { enabled = true, auto_open = { enabled = false, throttle = 50 } },
|
||||||
},
|
},
|
||||||
presets = {
|
presets = {
|
||||||
|
bottom_search = true,
|
||||||
command_palette = true,
|
command_palette = true,
|
||||||
long_message_to_split = true,
|
long_message_to_split = true,
|
||||||
|
lsp_doc_border = true,
|
||||||
},
|
},
|
||||||
routes = {
|
routes = {
|
||||||
{ filter = { event = "msg_show", kind = "search_count" }, opts = { skip = true } },
|
{ filter = { event = "msg_show", kind = "search_count" }, opts = { skip = true } },
|
||||||
{ filter = { kind = "", min_height = 2 }, view = "split" },
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
keys = {
|
keys = {
|
||||||
{ "<leader>lx", function() require("noice").cmd("dismiss") end, desc = "Noice dismiss" },
|
{ "<leader>lx", function() require("noice").cmd("dismiss") end, desc = "Dismiss All" },
|
||||||
{ "<leader>lh", function() require("noice").cmd("all") end, desc = "Noice history" },
|
{ "<leader>lh", function() require("noice").cmd("all") end, desc = "Noice History" },
|
||||||
{ "<leader>ls", function() require("noice").cmd("stats") end, desc = "Noice stats" },
|
{ "<leader>ls", function() require("noice").cmd("stats") end, desc = "Noice Stats" },
|
||||||
{ "<leader>un", function() require("noice").cmd("enable") end, desc = "Enable Noice" },
|
|
||||||
{ "<leader>uN", function() require("noice").cmd("disable") end, desc = "Disable Noice" },
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
@@ -1608,6 +1636,7 @@ for _, spec in ipairs({
|
|||||||
makespec_conform(), -- autoformat
|
makespec_conform(), -- autoformat
|
||||||
makespec_lspconfig(),
|
makespec_lspconfig(),
|
||||||
makespec_treesitter(),
|
makespec_treesitter(),
|
||||||
|
makespec_treewalker(),
|
||||||
makespec_todocomments(),
|
makespec_todocomments(),
|
||||||
makespec_autotag(),
|
makespec_autotag(),
|
||||||
makespec_lint(),
|
makespec_lint(),
|
||||||
@@ -1621,6 +1650,7 @@ for _, spec in ipairs({
|
|||||||
makespec_flash(),
|
makespec_flash(),
|
||||||
makespec_grugfar(),
|
makespec_grugfar(),
|
||||||
-- visuals
|
-- visuals
|
||||||
|
makespec_smearcursor(),
|
||||||
makespec_hexokinase(),
|
makespec_hexokinase(),
|
||||||
makespec_lualine(),
|
makespec_lualine(),
|
||||||
makespec_noice(),
|
makespec_noice(),
|
||||||
@@ -1659,5 +1689,6 @@ vim.opt.rtp:prepend(lazypath)
|
|||||||
require("lazy").setup({
|
require("lazy").setup({
|
||||||
spec = lazyspecs,
|
spec = lazyspecs,
|
||||||
checker = { enabled = true },
|
checker = { enabled = true },
|
||||||
|
rocks = { enabled = false },
|
||||||
})
|
})
|
||||||
vim.cmd("colorscheme bluloco-dark")
|
vim.cmd("colorscheme sonokai")
|
||||||
|
|||||||
@@ -1,23 +1,27 @@
|
|||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from typing import Any
|
from qutebrowser.config.config import ConfigContainer
|
||||||
|
from qutebrowser.config.configfiles import ConfigAPI
|
||||||
|
|
||||||
config: Any = None
|
c: "ConfigContainer" = c # type: ignore # noqa: F821
|
||||||
c: Any = None
|
config: "ConfigAPI" = config # type: ignore # noqa: F821
|
||||||
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
config.load_autoconfig(True)
|
config.load_autoconfig(True)
|
||||||
config.bind("<", "tab-move -")
|
config.bind("<", "tab-move -")
|
||||||
config.bind("<Ctrl+Shift+Tab>", "tab-prev")
|
config.bind("<Ctrl+Shift+Tab>", "tab-prev")
|
||||||
config.bind("<Ctrl+Tab>", "tab-next")
|
config.bind("<Ctrl+Tab>", "tab-next")
|
||||||
config.bind("<Ctrl+l>", "cmd-set-text :open {url:pretty}")
|
config.bind("<Ctrl+l>", "cmd-set-text :open {url:pretty}")
|
||||||
config.bind("<Ctrl+r>", "reload")
|
config.unbind("r", mode="normal")
|
||||||
|
config.bind("<Ctrl+r>", "reload -f")
|
||||||
|
config.bind("R", "reload", mode="normal")
|
||||||
config.bind("<Ctrl+n>", "tab-clone -w")
|
config.bind("<Ctrl+n>", "tab-clone -w")
|
||||||
config.bind("<Ctrl+t>", "tab-clone -t")
|
config.bind("<Ctrl+t>", "tab-clone -t")
|
||||||
config.bind("<Ctrl+Shift+r>", "restart", mode="normal")
|
config.bind("<Ctrl+Shift+r>", "restart", mode="normal")
|
||||||
config.bind("<Ctrl+h>", "history")
|
config.bind("<Ctrl+h>", "history")
|
||||||
config.bind("<F8>", "config-cycle colors.webpage.darkmode.enabled true false")
|
|
||||||
config.bind("<F2>", "edit-url")
|
config.bind("<F2>", "edit-url")
|
||||||
|
config.bind("<F10>", "config-cycle colors.webpage.darkmode.enabled true false")
|
||||||
config.bind("<F11>", "config-cycle tabs.position top left")
|
config.bind("<F11>", "config-cycle tabs.position top left")
|
||||||
config.bind("<F12>", "devtools")
|
config.bind("<F12>", "devtools")
|
||||||
config.bind("<Shift+F12>", "view-source")
|
config.bind("<Shift+F12>", "view-source")
|
||||||
@@ -46,8 +50,8 @@ config.bind("wk", "forward -w", mode="normal")
|
|||||||
config.bind("ø", "cmd-set-text :")
|
config.bind("ø", "cmd-set-text :")
|
||||||
config.bind("m", 'cmd-set-text :quickmark-add {url:pretty} "', mode="normal")
|
config.bind("m", 'cmd-set-text :quickmark-add {url:pretty} "', mode="normal")
|
||||||
config.bind("D", "tab-close")
|
config.bind("D", "tab-close")
|
||||||
config.bind(",m", "hint links spawn mpv {hint-url}", mode="normal")
|
config.bind(",m", "hint links spawn -d mpv {hint-url}", mode="normal")
|
||||||
config.bind(",M", "spawn mpv {url}", mode="normal")
|
config.bind(",M", "spawn -d mpv {url}", mode="normal")
|
||||||
config.unbind("co") # close all tabs except this one
|
config.unbind("co") # close all tabs except this one
|
||||||
config.unbind("<Ctrl+x>") # navigate decrement
|
config.unbind("<Ctrl+x>") # navigate decrement
|
||||||
config.unbind("<Ctrl+a>") # navigate increment
|
config.unbind("<Ctrl+a>") # navigate increment
|
||||||
@@ -69,7 +73,7 @@ c.completion.open_categories = [
|
|||||||
c.content.register_protocol_handler = False
|
c.content.register_protocol_handler = False
|
||||||
c.content.blocking.enabled = True
|
c.content.blocking.enabled = True
|
||||||
c.content.fullscreen.window = True
|
c.content.fullscreen.window = True
|
||||||
c.content.blocking.method = "both"
|
c.content.blocking.method = "adblock"
|
||||||
c.content.blocking.adblock.lists = [
|
c.content.blocking.adblock.lists = [
|
||||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt",
|
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt",
|
||||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/badware.txt",
|
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/badware.txt",
|
||||||
@@ -107,6 +111,14 @@ urlconfigs: dict[str, list[tuple[str, bool | str | dict[str, str]]]] = {
|
|||||||
{"X-YouTube-Client-Name": "85", "X-YouTube-Client-Version": "2.0"},
|
{"X-YouTube-Client-Name": "85", "X-YouTube-Client-Version": "2.0"},
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
"https://*.altinn.no": [
|
||||||
|
("content.cookies.accept", "all"),
|
||||||
|
("content.javascript.can_open_tabs_automatically", True),
|
||||||
|
],
|
||||||
|
"https://*.bankid.no": [
|
||||||
|
("content.cookies.accept", "all"),
|
||||||
|
("content.javascript.can_open_tabs_automatically", True),
|
||||||
|
],
|
||||||
}
|
}
|
||||||
for url, urlconfig in urlconfigs.items():
|
for url, urlconfig in urlconfigs.items():
|
||||||
for setting, value in urlconfig:
|
for setting, value in urlconfig:
|
||||||
@@ -131,7 +143,6 @@ c.input.insert_mode.auto_leave = False
|
|||||||
c.input.insert_mode.plugins = True
|
c.input.insert_mode.plugins = True
|
||||||
c.messages.timeout = 5000
|
c.messages.timeout = 5000
|
||||||
c.qt.force_platform = "wayland"
|
c.qt.force_platform = "wayland"
|
||||||
c.qt.force_software_rendering = "qt-quick"
|
|
||||||
c.qt.highdpi = True
|
c.qt.highdpi = True
|
||||||
c.scrolling.bar = "always"
|
c.scrolling.bar = "always"
|
||||||
c.scrolling.smooth = False
|
c.scrolling.smooth = False
|
||||||
|
|||||||
+12
-10
@@ -67,7 +67,7 @@ set $powermenu ~/.config/sway/scripts/power_menu.sh
|
|||||||
# ------------------------------------------
|
# ------------------------------------------
|
||||||
# Launch the terminal
|
# Launch the terminal
|
||||||
bindsym $mod+Return exec $term
|
bindsym $mod+Return exec $term
|
||||||
bindsym $mod+Shift+Return exec foot
|
bindsym Mod4+Shift+Return exec foot bash
|
||||||
# Kill focused window
|
# Kill focused window
|
||||||
bindsym $mod+Shift+q kill
|
bindsym $mod+Shift+q kill
|
||||||
# Lock screen
|
# Lock screen
|
||||||
@@ -157,15 +157,15 @@ bindsym {
|
|||||||
floating_modifier $mod normal
|
floating_modifier $mod normal
|
||||||
bindsym {
|
bindsym {
|
||||||
# Resize with arrow keys
|
# Resize with arrow keys
|
||||||
$mod+ctrl+Right resize shrink width 10 px
|
$mod+ctrl+Right resize shrink width 100 px
|
||||||
$mod+ctrl+Up resize grow height 10 px
|
$mod+ctrl+Up resize grow height 100 px
|
||||||
$mod+ctrl+Down resize shrink height 10 px
|
$mod+ctrl+Down resize shrink height 100 px
|
||||||
$mod+ctrl+Left resize grow width 10 px
|
$mod+ctrl+Left resize grow width 100 px
|
||||||
# Resize with Vim keys
|
# Resize with Vim keys
|
||||||
$mod+ctrl+$right resize shrink width 10 px
|
$mod+ctrl+$right resize shrink width 100 px
|
||||||
$mod+ctrl+$up resize grow height 10 px
|
$mod+ctrl+$up resize grow height 100 px
|
||||||
$mod+ctrl+$down resize shrink height 10 px
|
$mod+ctrl+$down resize shrink height 100 px
|
||||||
$mod+ctrl+$left resize grow width 10 px
|
$mod+ctrl+$left resize grow width 100 px
|
||||||
}
|
}
|
||||||
# Resize floating windows with mouse scroll
|
# Resize floating windows with mouse scroll
|
||||||
bindsym --whole-window --border {
|
bindsym --whole-window --border {
|
||||||
@@ -294,7 +294,7 @@ exec_always swayidle -w \
|
|||||||
idlehint 240
|
idlehint 240
|
||||||
|
|
||||||
# Start foot server
|
# Start foot server
|
||||||
exec_always --no-startup-id foot --server
|
exec systemctl --user enable --now foot-server.service
|
||||||
|
|
||||||
exec {
|
exec {
|
||||||
# Desktop notifications
|
# Desktop notifications
|
||||||
@@ -349,6 +349,8 @@ for_window [app_id="floating_shell"] floating enable, border pixel 1, sticky ena
|
|||||||
for_window [title="Picture in picture"] floating enable, sticky enable
|
for_window [title="Picture in picture"] floating enable, sticky enable
|
||||||
for_window [title="Save File"] floating enable
|
for_window [title="Save File"] floating enable
|
||||||
for_window [app_id="firefox" title="Firefox — Sharing Indicator"] kill
|
for_window [app_id="firefox" title="Firefox — Sharing Indicator"] kill
|
||||||
|
# only thunderbird main window as float
|
||||||
|
for_window [app_id="org.mozilla.Thunderbird" title="^((?!Mozilla Thunderbird).)*$"] floating enable
|
||||||
|
|
||||||
# steam
|
# steam
|
||||||
# https://github.com/ValveSoftware/steam-for-linux/issues/1040
|
# https://github.com/ValveSoftware/steam-for-linux/issues/1040
|
||||||
|
|||||||
@@ -18,6 +18,9 @@ set -g default-terminal "tmux-256color"
|
|||||||
# Tell tmux which features the outer Foot client supports.
|
# Tell tmux which features the outer Foot client supports.
|
||||||
set -as terminal-features ',foot*:RGB,clipboard,focus,title'
|
set -as terminal-features ',foot*:RGB,clipboard,focus,title'
|
||||||
|
|
||||||
|
# Allow image passthrough
|
||||||
|
set -gq allow-passthrough on
|
||||||
|
|
||||||
# Start with index 1
|
# Start with index 1
|
||||||
set -g base-index 1
|
set -g base-index 1
|
||||||
setw -g pane-base-index 1
|
setw -g pane-base-index 1
|
||||||
@@ -104,6 +107,10 @@ bind t clock-mode
|
|||||||
|
|
||||||
# Show pane numbers
|
# Show pane numbers
|
||||||
bind i display-panes
|
bind i display-panes
|
||||||
|
ps_pid='#(pgrep -P "#{pane_pid}" | tr "\n" " ")'
|
||||||
|
cmd='#(ps --no-headers -o args $(pgrep -P "#{pane_pid}"))'
|
||||||
|
bind P display-message -d 100000 "${cmd} FOLDER:#{pane_current_path} CMD:#{=/-20/…:pane_current_command} PID:${ps_pid}"
|
||||||
|
|
||||||
|
|
||||||
# Config Reloads
|
# Config Reloads
|
||||||
bind r source-file ~/.config/tmux/tmux.conf \; refresh-client \; display-message "Config reloaded"
|
bind r source-file ~/.config/tmux/tmux.conf \; refresh-client \; display-message "Config reloaded"
|
||||||
@@ -119,6 +126,8 @@ bind v split-window -h -c "#{pane_current_path}"
|
|||||||
bind s split-window -v -c "#{pane_current_path}"
|
bind s split-window -v -c "#{pane_current_path}"
|
||||||
bind V split-window -fh -c "#{pane_current_path}"
|
bind V split-window -fh -c "#{pane_current_path}"
|
||||||
bind S split-window -fv -c "#{pane_current_path}"
|
bind S split-window -fv -c "#{pane_current_path}"
|
||||||
|
bind x split-window -fh bash
|
||||||
|
|
||||||
|
|
||||||
# Change layouts
|
# Change layouts
|
||||||
bind o rotate-window
|
bind o rotate-window
|
||||||
|
|||||||
+15
-15
@@ -12,7 +12,7 @@ max_height = 1500
|
|||||||
|
|
||||||
[open]
|
[open]
|
||||||
prepend_rules = [
|
prepend_rules = [
|
||||||
{ name = "*.csv", use = "text" },
|
{ url = "*.csv", use = "text" },
|
||||||
]
|
]
|
||||||
|
|
||||||
[opener]
|
[opener]
|
||||||
@@ -24,36 +24,36 @@ text = [
|
|||||||
[input]
|
[input]
|
||||||
cursor_blink = true
|
cursor_blink = true
|
||||||
|
|
||||||
|
[[plugin.append_previewers]]
|
||||||
|
url = "*"
|
||||||
|
run = "file-extra-metadata"
|
||||||
|
|
||||||
[[plugin.prepend_fetchers]]
|
[[plugin.prepend_fetchers]]
|
||||||
id = "git"
|
group = "git"
|
||||||
name = "*"
|
url = "*"
|
||||||
run = "git"
|
run = "git"
|
||||||
|
|
||||||
[[plugin.prepend_fetchers]]
|
[[plugin.prepend_fetchers]]
|
||||||
id = "git"
|
group = "git"
|
||||||
name = "*/"
|
url = "*/"
|
||||||
run = "git"
|
run = "git"
|
||||||
|
|
||||||
[[plugin.prepend_previewers]]
|
[[plugin.prepend_previewers]]
|
||||||
name = "*.tar*"
|
url = "*.tar*"
|
||||||
run = 'piper --format=url -- tar tf "$1"'
|
run = 'piper --format=url -- tar tf "$1"'
|
||||||
|
|
||||||
[[plugin.prepend_previewers]]
|
[[plugin.prepend_previewers]]
|
||||||
name = "*.csv"
|
url = "*.csv"
|
||||||
run = 'piper -- bat -p --color=always "$1"'
|
run = 'piper -- bat -p --color=always "$1"'
|
||||||
|
|
||||||
[[plugin.prepend_previewers]]
|
[[plugin.prepend_previewers]]
|
||||||
name = "*.md"
|
url = "*.md"
|
||||||
run = 'piper -- CLICOLOR_FORCE=1 glow -w=$w -s=dark "$1"'
|
run = 'piper -- CLICOLOR_FORCE=1 glow -w=$w -s=dark "$1"'
|
||||||
|
|
||||||
[[plugin.prepend_previewers]]
|
[[plugin.prepend_previewers]]
|
||||||
name = "*/"
|
url = "*/"
|
||||||
run = 'piper -- eza -TL=3 --color=always --icons=always --group-directories-first --no-quotes "$1"'
|
run = 'piper -- eza -TL=3 --color=always --icons=always --group-directories-first --no-quotes "$1"'
|
||||||
|
|
||||||
[[plugin.append_previewers]]
|
|
||||||
name = "*"
|
|
||||||
run = 'file-extra-metadata'
|
|
||||||
|
|
||||||
[[plugin.prepend_spotters]]
|
[[plugin.prepend_spotters]]
|
||||||
name = "*"
|
url = "*"
|
||||||
run = 'file-extra-metadata'
|
run = "file-extra-metadata"
|
||||||
|
|||||||
+1
-1
@@ -14,7 +14,7 @@ alias ls='ls --color=auto -Ah'
|
|||||||
alias ..='cd ..'
|
alias ..='cd ..'
|
||||||
alias ...='cd ../..'
|
alias ...='cd ../..'
|
||||||
catai () {
|
catai () {
|
||||||
rg --files --hidden --glob '!.git/*' "$@" | while read -r f; do
|
rg -l --hidden --glob '!.git/*' '^' -- "$@" | while IFS= read -r f; do
|
||||||
printf "\n── %s ──\n" "$f"
|
printf "\n── %s ──\n" "$f"
|
||||||
echo '```'
|
echo '```'
|
||||||
cat "$f"
|
cat "$f"
|
||||||
|
|||||||
@@ -88,6 +88,7 @@ installmap = dict(
|
|||||||
"v4l-utils",
|
"v4l-utils",
|
||||||
# photos
|
# photos
|
||||||
"qimgv",
|
"qimgv",
|
||||||
|
"kimageformats5", # heif support
|
||||||
"digikam",
|
"digikam",
|
||||||
# music
|
# music
|
||||||
"quodlibet",
|
"quodlibet",
|
||||||
@@ -113,7 +114,6 @@ installmap = dict(
|
|||||||
"qutebrowser",
|
"qutebrowser",
|
||||||
"firefox",
|
"firefox",
|
||||||
"google-chrome",
|
"google-chrome",
|
||||||
"microsoft-edge-stable-bin",
|
|
||||||
"w3m",
|
"w3m",
|
||||||
"python-adblock", # for qutebrowser ad blocker
|
"python-adblock", # for qutebrowser ad blocker
|
||||||
"python-tldextract",
|
"python-tldextract",
|
||||||
@@ -124,12 +124,11 @@ installmap = dict(
|
|||||||
"khard", # contacts
|
"khard", # contacts
|
||||||
"khal", # calendar
|
"khal", # calendar
|
||||||
"aerc", # email
|
"aerc", # email
|
||||||
"newsboat", # rss reader
|
"eilmeldung", # rss reader
|
||||||
"vdirsyncer", # sync calendar+contacts
|
"vdirsyncer", # sync calendar+contacts
|
||||||
"pandoc", # md2html for aerc
|
"pandoc", # md2html for aerc
|
||||||
"pass", # password manager for aerc and newsboat
|
"pass", # password manager for aerc
|
||||||
"w3m", # terminal browser for aerc and newsboat
|
"w3m", # terminal browser for aerc
|
||||||
"urlscan", # url finder for newsboat
|
|
||||||
"python-aiohttp-oauthlib", # for google vdirsyncer
|
"python-aiohttp-oauthlib", # for google vdirsyncer
|
||||||
),
|
),
|
||||||
monitors=(
|
monitors=(
|
||||||
@@ -141,7 +140,7 @@ installmap = dict(
|
|||||||
"bandwhich", # network
|
"bandwhich", # network
|
||||||
"sysstat",
|
"sysstat",
|
||||||
),
|
),
|
||||||
apps=("keepassxc", "bitwarden", "qalculate-gtk", "vesktop"),
|
apps=("keepassxc", "bitwarden", "qalculate-gtk", "discord"),
|
||||||
sway=(
|
sway=(
|
||||||
"xdg-terminal-exec",
|
"xdg-terminal-exec",
|
||||||
# visuals
|
# visuals
|
||||||
@@ -358,13 +357,12 @@ def install_monitors(overwrite: bool, reinstall: bool) -> None:
|
|||||||
|
|
||||||
def install_emailcalrss(overwrite: bool, reinstall: bool) -> None:
|
def install_emailcalrss(overwrite: bool, reinstall: bool) -> None:
|
||||||
helper_install(*installmap["emailcalrss"], reinstall=reinstall)
|
helper_install(*installmap["emailcalrss"], reinstall=reinstall)
|
||||||
for tgt in ["vdirsyncer", "khard", "khal", "aerc", "newsboat"]:
|
for tgt in ["vdirsyncer", "khard", "khal", "aerc"]:
|
||||||
helper_clone_foldercontents(CFG_SRC, CFG_TGT, tgt, overwrite)
|
helper_clone_foldercontents(CFG_SRC, CFG_TGT, tgt, overwrite)
|
||||||
tgt = ".local/share/applications/userapp-khalimport.desktop"
|
tgt = ".local/share/applications/userapp-khalimport.desktop"
|
||||||
helper_maybe_copy(HOME_SRC, HOME_TGT, tgt, overwrite, symlink=True)
|
helper_maybe_copy(HOME_SRC, HOME_TGT, tgt, overwrite, symlink=True)
|
||||||
run("systemctl enable --user --now vdirsyncer.timer".split())
|
run("systemctl enable --user --now vdirsyncer.timer".split())
|
||||||
run(f"chmod 600 {CFG_TGT / 'aerc/accounts.conf'}".split())
|
run(f"chmod 600 {CFG_TGT / 'aerc/accounts.conf'}".split())
|
||||||
(HOME_TGT / ".cache/newsboat").mkdir(exist_ok=True)
|
|
||||||
(HOME_TGT / "Calendars").mkdir(exist_ok=True)
|
(HOME_TGT / "Calendars").mkdir(exist_ok=True)
|
||||||
(HOME_TGT / "Contacts").mkdir(exist_ok=True)
|
(HOME_TGT / "Contacts").mkdir(exist_ok=True)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user