mirror of
https://github.com/elkowar/dots-of-war.git
synced 2024-11-06 03:12:24 +00:00
try out feline
This commit is contained in:
parent
f7076e8a26
commit
ef11d26a1a
8 changed files with 292 additions and 9 deletions
|
@ -46,7 +46,8 @@ in
|
|||
#normal.family = "Iosevka";
|
||||
normal.family = "Terminus (TTF)";
|
||||
offset.x = 0;
|
||||
offset.y = -2;
|
||||
#offset.y = -2;
|
||||
offset.y = 0;
|
||||
};
|
||||
colors = config.elkowar.desktop.colors;
|
||||
};
|
||||
|
|
|
@ -60,7 +60,6 @@
|
|||
(se wrap false)
|
||||
(se completeopt "menuone,noselect")
|
||||
(se laststatus 2)
|
||||
(se showmode true)
|
||||
(se splitbelow true)
|
||||
(se splitright true)
|
||||
(se mouse "a")
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
|
||||
:dbg
|
||||
(fn [x]
|
||||
`(let [view# (. (require "aniseed.fennel") :view)]
|
||||
(print (.. `,(tostring x) " => " (view# ,x)))
|
||||
`(let [view# (require "aniseed.view")]
|
||||
(print (.. `,(tostring x) " => " (view#.serialise ,x)))
|
||||
,x))
|
||||
|
||||
:dbg-call
|
||||
|
|
|
@ -36,12 +36,17 @@
|
|||
; general purpose lua wrappers for nvim stuff
|
||||
:norcalli/nvim.lua {}
|
||||
|
||||
:glepnir/galaxyline.nvim {:mod "plugins.galaxyline"
|
||||
;:glepnir/galaxyline.nvim {:mod "plugins.galaxyline"
|
||||
;:after "gruvbox"}
|
||||
|
||||
:Famiu/feline.nvim {:mod "plugins.feline"
|
||||
:after "gruvbox"}
|
||||
|
||||
;:gwimm/lililine.nvim {:after "gruvbox"}
|
||||
;:gwimm/lililine.nvim {:after "gruvbox"
|
||||
;:mod "plugins.lililine"}
|
||||
|
||||
:akinsho/nvim-bufferline.lua {:mod "plugins.bufferline"}
|
||||
;:romgrk/barbar.nvim {:mod "plugins.barbar"}
|
||||
|
||||
:sindrets/diffview.nvim {:mod "plugins.diffview"}
|
||||
:tweekmonster/startuptime.vim {:cmd ["StartupTime"]}
|
||||
|
@ -88,7 +93,9 @@
|
|||
:tommcdo/vim-exchange {}
|
||||
;:frazrepo/vim-rainbow {}
|
||||
|
||||
:bhurlow/vim-parinfer {:ft ["fennel" "carp" "lisp" "elisp"]}
|
||||
;:bhurlow/vim-parinfer {:ft ["fennel" "carp" "lisp" "elisp"]}
|
||||
|
||||
:eraserhd/parinfer-rust {:run "cargo build --release"}
|
||||
|
||||
:bduggan/vim-raku {:ft ["raku"]}
|
||||
:LnL7/vim-nix {:ft ["nix"]}
|
||||
|
|
7
nvim/.config/nvim/fnl/plugins/barbar.fnl
Normal file
7
nvim/.config/nvim/fnl/plugins/barbar.fnl
Normal file
|
@ -0,0 +1,7 @@
|
|||
(module utils
|
||||
{autoload {a aniseed.core
|
||||
fennel aniseed.fennel
|
||||
nvim aniseed.nvim
|
||||
str aniseed.string}
|
||||
require-macros [macros]})
|
||||
|
103
nvim/.config/nvim/fnl/plugins/feline.fnl
Normal file
103
nvim/.config/nvim/fnl/plugins/feline.fnl
Normal file
|
@ -0,0 +1,103 @@
|
|||
(module utils
|
||||
{autoload {a aniseed.core
|
||||
nvim aniseed.nvim
|
||||
utils utils
|
||||
str aniseed.string
|
||||
colors colors
|
||||
view aniseed.view
|
||||
feline feline
|
||||
feline-git feline.providers.git
|
||||
feline-lsp feline.providers.lsp}
|
||||
require-macros [macros]})
|
||||
|
||||
|
||||
|
||||
|
||||
(local modes
|
||||
{:n {:text "NORMAL" :color colors.neutral_aqua}
|
||||
:i {:text "INSERT" :color colors.neutral_yellow}
|
||||
:c {:text "CMMAND" :color colors.neutral_aqua}
|
||||
:ce {:text "NORMEX" :color colors.neutral_aqua}
|
||||
:cv {:text "EX" :color colors.neutral_aqua}
|
||||
:ic {:text "INSCOMP" :color colors.neutral_aqua}
|
||||
:no {:text "OP-PENDING" :color colors.neutral_aqua}
|
||||
:r {:text "HIT-ENTER" :color colors.neutral_aqua}
|
||||
:r? {:text "CONFIRM" :color colors.neutral_aqua}
|
||||
:R {:text "REPLACE" :color colors.neutral_aqua}
|
||||
:Rv {:text "VIRTUAL" :color colors.neutral_aqua}
|
||||
:s {:text "SELECT" :color colors.neutral_aqua}
|
||||
:S {:text "SELECT" :color colors.neutral_aqua}
|
||||
:t {:text "TERM" :color colors.neutral_aqua}
|
||||
:v {:text "VISUAL" :color colors.neutral_blue}
|
||||
:V {:text "VISUAL LINE" :color colors.neutral_blue}
|
||||
"" {:text "VISUAL BLOCK" :color colors.neutral_blue}})
|
||||
|
||||
;(def bar-bg colors.dark1)
|
||||
(def bar-bg colors.dark0)
|
||||
|
||||
(defn or-empty [x] (or x ""))
|
||||
(defn spaces [x] (if x (.. " " x " ") ""))
|
||||
|
||||
(defn get-current-filepath []
|
||||
(let [file (utils.shorten-path (vim.fn.bufname) 5 50)]
|
||||
(if (a.empty? file) ""
|
||||
nvim.bo.readonly (.. "RO " file)
|
||||
(and nvim.bo.modifiable nvim.bo.modified) (.. file "●")
|
||||
(.. file " "))))
|
||||
|
||||
(defn lsp-diagnostic-component [kind color]
|
||||
{:enabled #(~= 0 (vim.lsp.diagnostic.get_count 0 kind))
|
||||
:provider #(spaces (vim.lsp.diagnostic.get_count 0 kind))
|
||||
:left_sep ""
|
||||
:right_sep ""
|
||||
:hl {:fg bar-bg :bg color}})
|
||||
|
||||
|
||||
(defn vim-mode-hl [use-as-fg?]
|
||||
(let [color (. modes (vim.fn.mode) :color)]
|
||||
(if use-as-fg? {:bg bar-bg :fg color} {:bg color :fg bar-bg})))
|
||||
|
||||
(defn git-status-provider []
|
||||
(or-empty (utils.keep-if #(~= "master" $1)
|
||||
(?. vim.b :gitsigns_status_dict :head))))
|
||||
|
||||
(def components
|
||||
{:left {:active {} :inactive {}}
|
||||
:mid {:active {} :inactive {}}
|
||||
:right {:active {} :inactive {}}})
|
||||
|
||||
(set components.left.active
|
||||
[{:provider #(.. " " (or (. modes (vim.fn.mode) :text) vim.fn.mode) " ")
|
||||
:hl #(vim-mode-hl false)}
|
||||
{:provider get-current-filepath :left_sep " "}
|
||||
{:provider git-status-provider :left_sep " " :hl #(vim-mode-hl true)}])
|
||||
|
||||
|
||||
|
||||
(defn get-lsp-progress []
|
||||
(let [msgs (vim.lsp.util.get_progress_messages)
|
||||
s (icollect [_ msg (ipairs msgs)]
|
||||
(when msg.message
|
||||
(.. msg.title " " msg.message)))]
|
||||
(or-empty (str.join " | " s))))
|
||||
|
||||
(set components.mid.active
|
||||
[{:provider get-lsp-progress}])
|
||||
|
||||
(set components.right.active
|
||||
[{:provider vim.bo.filetype
|
||||
:right_sep " "
|
||||
:hl #(vim-mode-hl true)}
|
||||
(lsp-diagnostic-component "Information" colors.neutral_purple)
|
||||
(lsp-diagnostic-component "Hint" colors.neutral_blue)
|
||||
(lsp-diagnostic-component "Warn" colors.neutal_yellow)
|
||||
(lsp-diagnostic-component "Error" colors.neutral_red)
|
||||
{:provider #(let [[line col] (vim.api.nvim_win_get_cursor 0)] (.. " " line ":" col " "))
|
||||
:hl #(vim-mode-hl false)}])
|
||||
|
||||
|
||||
(feline.setup
|
||||
{:default_bg bar-bg
|
||||
:default_fg colors.dark4
|
||||
:components components})
|
||||
|
166
nvim/.config/nvim/fnl/plugins/lililine.fnl
Normal file
166
nvim/.config/nvim/fnl/plugins/lililine.fnl
Normal file
|
@ -0,0 +1,166 @@
|
|||
(module plugins.lililine
|
||||
{require {a aniseed.core
|
||||
str aniseed.string
|
||||
nvim aniseed.nvim
|
||||
utils utils
|
||||
colors colors
|
||||
line lililine}
|
||||
|
||||
require-macros [macros]})
|
||||
|
||||
|
||||
(fn get-current-filename []
|
||||
(nvim.fn.expand "%:t"))
|
||||
|
||||
(fn get-current-filepath []
|
||||
(let [file (utils.shorten-path (vim.fn.bufname) 5 50)]
|
||||
(if (a.empty? file) ""
|
||||
nvim.bo.readonly (.. "RO " file)
|
||||
(and nvim.bo.modifiable nvim.bo.modified) (.. file " ")
|
||||
file)))
|
||||
|
||||
(fn make-lsp-diagnostic-provider [kind]
|
||||
(fn []
|
||||
(let [n (vim.lsp.diagnostic.get_count 0 kind)]
|
||||
(if (= n 0) "" (.. " " n " ")))))
|
||||
|
||||
|
||||
(def bar-bg colors.dark0_soft)
|
||||
|
||||
|
||||
(def modes
|
||||
{:n {:text "NORMAL" :color {:bg colors.neutral_aqua :fg colors.dark0}}
|
||||
:i {:text "INSERT" :color {:bg colors.neutral_yellow :fg colors.dark0}}
|
||||
:c {:text "CMMAND" :color {:bg colors.neutral_aqua :fg colors.dark0}}
|
||||
:ce {:text "NORMEX" :color {:bg colors.neutral_aqua :fg colors.dark0}}
|
||||
:cv {:text "EX" :color {:bg colors.neutral_aqua :fg colors.dark0}}
|
||||
:ic {:text "INSCOMP" :color {:bg colors.neutral_aqua :fg colors.dark0}}
|
||||
:no {:text "OP-PENDING" :color {:bg colors.neutral_aqua :fg colors.dark0}}
|
||||
:r {:text "HIT-ENTER" :color {:bg colors.neutral_aqua :fg colors.dark0}}
|
||||
:r? {:text "CONFIRM" :color {:bg colors.neutral_aqua :fg colors.dark0}}
|
||||
:R {:text "REPLACE" :color {:bg colors.neutral_aqua :fg colors.dark0}}
|
||||
:Rv {:text "VIRTUAL" :color {:bg colors.neutral_aqua :fg colors.dark0}}
|
||||
:s {:text "SELECT" :color {:bg colors.neutral_aqua :fg colors.dark0}}
|
||||
:S {:text "SELECT" :color {:bg colors.neutral_aqua :fg colors.dark0}}
|
||||
:t {:text "TERM" :color {:bg colors.neutral_aqua :fg colors.dark0}}
|
||||
:v {:text "VISUAL" :color {:bg colors.neutral_blue :fg colors.dark0}}
|
||||
:V {:text "VISUAL LINE" :color {:bg colors.neutral_blue :fg colors.dark0}}
|
||||
"" {:text "VISUAL BLOCK" :color {:bg colors.neutral_blue :fg colors.dark0}}})
|
||||
|
||||
|
||||
|
||||
|
||||
(utils.highlight :StatusLine {:bg bar-bg :fg colors.light4})
|
||||
(utils.highlight :StatusLineFilePath {:bg bar-bg :fg colors.light4})
|
||||
|
||||
(utils.highlight :StatusLineLspInfo {:bg colors.neutral_blue :fg bar-bg})
|
||||
(utils.highlight :StatusLineLspWarn {:bg colors.neutal_yellow :fg bar-bg})
|
||||
(utils.highlight :StatusLineLspError {:bg colors.bright_red :fg bar-bg})
|
||||
|
||||
(def space {:provider #" " :highlight :StatusLineBase})
|
||||
|
||||
|
||||
(set line.lines.status
|
||||
[[; Mode
|
||||
{:provider #(let [data (or (. modes (vim.fn.mode))
|
||||
{:text (vim.fn.mode)
|
||||
:color {:bg colors.neutral_orange :fg colors.dark0}})]
|
||||
{:text (.. " " data.text " ") :color data.color})
|
||||
:highlight :StatusLineMode}
|
||||
|
||||
space
|
||||
|
||||
; Filepath
|
||||
{:provider get-current-filepath
|
||||
:highlight :StatusLineFilePath}]
|
||||
|
||||
[]
|
||||
|
||||
|
||||
[; Filetype
|
||||
{:provider #vim.bo.filetype :highlight :StatusLine}
|
||||
|
||||
; Diagnostics
|
||||
{:provider (make-lsp-diagnostic-provider "Info")
|
||||
:highlight :StatusLineLspInfo}
|
||||
{:provider (make-lsp-diagnostic-provider "Warning")
|
||||
:highlight :StatusLineLspWarn}
|
||||
{:provider (make-lsp-diagnostic-provider "Error")
|
||||
:highlight :StatusLineLspError}
|
||||
|
||||
|
||||
|
||||
; Line info
|
||||
{:provider #(let [[line col] (vim.api.nvim_win_get_cursor 0)]
|
||||
(.. " " line ":" col " "))
|
||||
:highlight :StatusLineMode}]])
|
||||
|
||||
;{:LineInfo {:provider #(.. " " (gl-fileinfo.line_column) " ")
|
||||
;:highlight "GalaxyViMode"
|
||||
;:separator ""}}])
|
||||
|
||||
|
||||
; TODO
|
||||
;Git-branch
|
||||
;{:provider #(let [branch (vim.fn.system "git rev-parse --abbrev-ref HEAD")]
|
||||
;(if (= "master" branch) "" branch))
|
||||
;:highlight :StatusLine}]])
|
||||
|
||||
|
||||
|
||||
;(set galaxyline.section.left
|
||||
;[{:ViMode {:provider
|
||||
;#(let [vim-mode (nvim.fn.mode)
|
||||
;modedata (or (. modes vim-mode)
|
||||
;{:text vim-mode
|
||||
;:colors {:bg colors.neutral_orange :fg colors.dark0}})]
|
||||
;(utils.highlight "GalaxyViMode" modedata.colors)
|
||||
;(.. " " modedata.text " "))}}
|
||||
|
||||
;{:FileName {:provider get-current-filepath
|
||||
;:highlight [colors.light4 bar-bg-col]}}
|
||||
|
||||
;{:Space {:provider #""
|
||||
;:highlight [colors.light0 bar-bg-col]}}])
|
||||
|
||||
;(set galaxyline.section.right
|
||||
;[{:GitBranch {:highlight [colors.light4 bar-bg-col]
|
||||
;:provider
|
||||
;#(let [branch (gl-vcs.get_git_branch)]
|
||||
;(if (= "master" branch) "" branch))}}
|
||||
|
||||
;{:FileType {:provider #nvim.bo.filetype
|
||||
;:highlight [colors.neutral_aqua bar-bg-col]}}
|
||||
|
||||
;{:DiagnosticInfo {:provider (make-lsp-diagnostic-provider "Info")
|
||||
;:highlight [colors.dark1 colors.neutral_blue]}}
|
||||
;{:DiagnosticWarn {:provider (make-lsp-diagnostic-provider "Warning")
|
||||
;:highlight [colors.dark1 colors.neutral_yellow]
|
||||
;:separator ""}}
|
||||
;{:DiagnosticError {:provider (make-lsp-diagnostic-provider "Error")
|
||||
;:highlight [colors.dark1 colors.bright_red]
|
||||
;:separator ""}}
|
||||
;{:LineInfo {:provider #(.. " " (gl-fileinfo.line_column) " ")
|
||||
;:highlight "GalaxyViMode"
|
||||
;:separator ""}}])
|
||||
|
||||
;(do
|
||||
;(fn add-segment-defaults [data]
|
||||
;(a.merge {:highlight [colors.light0 bar-bg-col]
|
||||
;:separator " "
|
||||
;:separator_highlight "StatusLine"}
|
||||
;data))
|
||||
|
||||
;(fn map-gl-section [f section]
|
||||
;(icollect [_ elem (ipairs section)]
|
||||
;(collect [k v (pairs elem)]
|
||||
;(values k (f v)))))
|
||||
|
||||
;(set galaxyline.section.left (map-gl-section add-segment-defaults galaxyline.section.left))
|
||||
;(set galaxyline.section.right (map-gl-section add-segment-defaults galaxyline.section.right)))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -4,4 +4,4 @@
|
|||
|
||||
(set vim.g.sneak#label 1)
|
||||
(utils.keymap [:n :o] :<DEL> "<Plug>Sneak_s" {:noremap false})
|
||||
(utils.keymap [:n :o] :<S-DEL> "<Plug>Sneak_s" {:noremap false})
|
||||
(utils.keymap [:n :o] :<S-DEL> "<Plug>Sneak_S" {:noremap false})
|
||||
|
|
Loading…
Reference in a new issue