mirror of
https://github.com/elenapan/dotfiles.git
synced 2025-12-26 15:14:58 +08:00
(WIP): Update Neovim config
For now, only appearance-related configuration has been pushed
This commit is contained in:
parent
78db0a9fab
commit
45a34b9a33
6 changed files with 433 additions and 656 deletions
|
|
@ -1,47 +0,0 @@
|
|||
" =============================================================================
|
||||
" Filename: autoload/lightline/colorscheme/lena.vim
|
||||
" Author: elenapan @ github
|
||||
" =============================================================================
|
||||
|
||||
" Normal colors
|
||||
let s:black = [ '#000000', 0 ]
|
||||
let s:red = [ '#800000', 1 ]
|
||||
let s:green = [ '#008000', 2 ]
|
||||
let s:yellow = [ '#808000', 3 ]
|
||||
let s:blue = [ '#000080', 4 ]
|
||||
let s:magenta = [ '#800080', 5 ]
|
||||
let s:cyan = [ '#008080', 6 ]
|
||||
let s:white = [ '#ffffff', 7 ]
|
||||
|
||||
" Bold / Brighter colors
|
||||
let s:black2 = [ '#808080', 8 ]
|
||||
let s:red2 = [ '#ff0000', 9 ]
|
||||
let s:green2 = [ '#00ff00', 10 ]
|
||||
let s:yellow2 = [ '#ffff00', 11 ]
|
||||
let s:blue2 = [ '#0000ff', 12 ]
|
||||
let s:magenta2 = [ '#ff00ff', 13 ]
|
||||
let s:cyan2 = [ '#00ffff', 14 ]
|
||||
let s:white2 = [ '#ffffff', 15 ]
|
||||
|
||||
let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
|
||||
let s:p.normal.left = [ [ s:cyan2, s:black ], [ s:cyan, s:black ] ]
|
||||
let s:p.normal.right = [ [ s:cyan2, s:black ], [ s:cyan, s:black ] ]
|
||||
let s:p.insert.left = [ [ s:red2, s:black ], [ s:red, s:black ] ]
|
||||
let s:p.insert.right = [ [ s:red2, s:black ], [ s:red, s:black ] ]
|
||||
let s:p.visual.left = [ [ s:magenta2, s:black ], [ s:magenta, s:black ] ]
|
||||
let s:p.visual.right = [ [ s:magenta2, s:black ], [ s:magenta, s:black ] ]
|
||||
let s:p.replace.left = [ [ s:yellow2, s:black ], [ s:yellow, s:black ] ]
|
||||
let s:p.replace.right = [ [ s:yellow2, s:black ], [ s:yellow, s:black ] ]
|
||||
let s:p.inactive.left = [ [ s:black2, s:black ], [ s:black2, s:black ] ]
|
||||
let s:p.inactive.right = [ [ s:black2, s:black ], [ s:black2, s:black ] ]
|
||||
let s:p.normal.middle = [ [ s:white, s:black ] ]
|
||||
let s:p.normal.error = [ [ s:white, s:red ] ]
|
||||
let s:p.normal.warning = [ [ s:black, s:yellow ] ]
|
||||
let s:p.inactive.middle = [ [ s:black2, s:black ] ]
|
||||
|
||||
let s:p.tabline.left = [ [ s:blue, s:black ] ]
|
||||
let s:p.tabline.tabsel = [ [ s:red, s:black ] ]
|
||||
let s:p.tabline.middle = [ [ s:black, s:black ] ]
|
||||
let s:p.tabline.right = [ [ s:black, s:black ] ]
|
||||
|
||||
let g:lightline#colorscheme#lena#palette = lightline#colorscheme#flatten(s:p)
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
" lena.vim - Vim color scheme for 16-color terminals, heavily based on noctu
|
||||
" elenapan @ github
|
||||
" lena.vim - Vim color scheme based on noctu
|
||||
" ------------------------------------------------------------------
|
||||
|
||||
" Scheme setup {{{
|
||||
|
|
@ -14,48 +13,52 @@ let g:colors_name = "lena"
|
|||
|
||||
"}}}
|
||||
" Vim UI {{{
|
||||
hi Normal ctermfg=7
|
||||
hi Cursor ctermfg=7 ctermbg=1
|
||||
hi CursorLine ctermbg=0 cterm=NONE
|
||||
hi MatchParen ctermfg=7 ctermbg=NONE cterm=underline
|
||||
hi Pmenu ctermfg=15 ctermbg=0
|
||||
hi PmenuThumb ctermbg=7
|
||||
hi PmenuSBar ctermbg=8
|
||||
hi PmenuSel ctermfg=0 ctermbg=4
|
||||
hi ColorColumn ctermbg=0
|
||||
hi SpellBad ctermfg=1 ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=12 ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=11 ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=13 ctermbg=NONE cterm=underline
|
||||
hi NonText ctermfg=8
|
||||
hi LineNr ctermfg=8 ctermbg=NONE cterm=bold
|
||||
hi CursorLineNr ctermfg=14 ctermbg=NONE cterm=bold
|
||||
hi Visual ctermfg=0 ctermbg=5
|
||||
hi IncSearch ctermfg=0 ctermbg=13 cterm=NONE
|
||||
hi Search ctermfg=0 ctermbg=14
|
||||
hi StatusLine ctermfg=5 ctermbg=0 cterm=NONE
|
||||
hi StatusLineNC ctermfg=8 ctermbg=0 cterm=bold
|
||||
hi VertSplit ctermfg=13 ctermbg=NONE cterm=bold
|
||||
hi TabLine ctermfg=8 ctermbg=0 cterm=NONE
|
||||
hi TabLineSel ctermfg=7 ctermbg=0
|
||||
hi Folded ctermfg=4 ctermbg=0 cterm=bold,italic
|
||||
hi Conceal ctermfg=6 ctermbg=NONE
|
||||
hi Directory ctermfg=10 ctermbg=NONE cterm=NONE
|
||||
hi Title ctermfg=11 ctermbg=NONE cterm=bold
|
||||
hi ErrorMsg ctermfg=9 ctermbg=NONE cterm=bold
|
||||
hi DiffAdd ctermfg=0 ctermbg=2
|
||||
hi DiffChange ctermfg=0 ctermbg=3
|
||||
hi DiffDelete ctermfg=0 ctermbg=1
|
||||
hi DiffText ctermfg=0 ctermbg=11 cterm=bold
|
||||
hi User1 ctermfg=1 ctermbg=0
|
||||
hi User2 ctermfg=2 ctermbg=0
|
||||
hi User3 ctermfg=4 ctermbg=0
|
||||
hi User4 ctermfg=3 ctermbg=0
|
||||
hi User5 ctermfg=5 ctermbg=0
|
||||
hi User6 ctermfg=6 ctermbg=0
|
||||
hi User7 ctermfg=7 ctermbg=0
|
||||
hi User8 ctermfg=8 ctermbg=0
|
||||
hi User9 ctermfg=15 ctermbg=5
|
||||
hi Normal guifg=#f4f3ee guibg=#101319
|
||||
hi Cursor guifg=#f4f3ee guibg=#E34F4F
|
||||
hi CursorLine guibg=#171b24 gui=none
|
||||
hi MatchParen guifg=#f4f3ee guibg=#101319 gui=underline
|
||||
hi Pmenu guifg=#DDDBCF guibg=#171b24
|
||||
hi PmenuThumb guibg=#f4f3ee
|
||||
hi PmenuSBar guibg=#3A435A
|
||||
" For some reason, after an update bg and fg on this one are inverted
|
||||
hi PmenuSel guibg=#171b24 guifg=#956dca
|
||||
hi ColorColumn guibg=#171b24
|
||||
hi SpellBad guifg=#E34F4F guibg=none gui=underline
|
||||
hi SpellCap guifg=#56B7C8 guibg=none gui=underline
|
||||
hi SpellRare guifg=#5679E3 guibg=none gui=underline
|
||||
hi SpellLocal guifg=#885AC4 guibg=none gui=underline
|
||||
hi NonText guifg=#3A435A
|
||||
hi LineNr guifg=#3A435A guibg=#101319 gui=bold
|
||||
hi CursorLineNr guifg=#5679E3 guibg=#171b24 gui=bold
|
||||
hi Visual guifg=#171b24 guibg=#956dca
|
||||
hi IncSearch guifg=#171b24 guibg=#885AC4 gui=none
|
||||
hi Search guifg=#171b24 guibg=#DE642B
|
||||
hi WinSeparator guifg=#171b24 guibg=#101319 gui=bold
|
||||
hi EndOfBuffer guifg=#3A435A guibg=none gui=bold
|
||||
hi Folded guifg=#DE642B guibg=#101319 gui=bold
|
||||
hi Conceal guifg=#DE642B guibg=#101319
|
||||
hi Directory guifg=#3E66E0 guibg=#101319 gui=none
|
||||
hi Title guifg=#5679E3 guibg=#101319 gui=bold
|
||||
hi ErrorMsg guifg=#DE2B2B guibg=#101319 gui=bold
|
||||
hi DiffAdd guifg=#171b24 guibg=#69bfce
|
||||
hi DiffChange guifg=#171b24 guibg=#5599E2
|
||||
hi DiffDelete guifg=#171b24 guibg=#E34F4F
|
||||
hi DiffText guifg=#171b24 guibg=#5679E3 gui=bold
|
||||
hi User1 guifg=#E34F4F guibg=#171b24
|
||||
hi User2 guifg=#3F8CDE guibg=#171b24
|
||||
hi User3 guifg=#5599E2 guibg=#171b24
|
||||
hi User4 guifg=#69bfce guibg=#171b24
|
||||
hi User5 guifg=#956dca guibg=#171b24
|
||||
hi User6 guifg=#DE642B guibg=#171b24
|
||||
hi User7 guifg=#f4f3ee guibg=#171b24
|
||||
hi User8 guifg=#3A435A guibg=#171b24
|
||||
hi User9 guifg=#DE2B2B guibg=#171b24
|
||||
hi User10 guifg=#3E66E0 guibg=#171b24
|
||||
hi User11 guifg=#5679E3 guibg=#171b24
|
||||
hi User12 guifg=#56B7C8 guibg=#171b24
|
||||
hi User13 guifg=#885AC4 guibg=#171b24
|
||||
hi User14 guifg=#DE642B guibg=#171b24
|
||||
hi User15 guifg=#DDDBCF guibg=#171b24
|
||||
hi! link CursorColumn CursorLine
|
||||
hi! link SignColumn LineNr
|
||||
hi! link WildMenu Visual
|
||||
|
|
@ -64,53 +67,57 @@ hi! link WarningMsg ErrorMsg
|
|||
hi! link MoreMsg Title
|
||||
hi! link Question MoreMsg
|
||||
hi! link ModeMsg MoreMsg
|
||||
hi! link TabLineFill StatusLineNC
|
||||
hi! link SpecialKey NonText
|
||||
|
||||
"}}}
|
||||
" Generic syntax {{{
|
||||
hi Delimiter ctermfg=7
|
||||
hi Comment ctermfg=8 cterm=bold
|
||||
hi Underlined ctermfg=2 cterm=underline
|
||||
hi Type ctermfg=2
|
||||
hi String ctermfg=1 cterm=bold
|
||||
hi Keyword ctermfg=4
|
||||
hi Todo ctermfg=11 ctermbg=NONE cterm=bold,underline
|
||||
hi Urgent ctermfg=1 ctermbg=NONE cterm=bold,underline
|
||||
hi Done ctermfg=4 ctermbg=NONE cterm=bold,underline
|
||||
hi Function ctermfg=2
|
||||
hi Identifier ctermfg=7 cterm=NONE
|
||||
hi Statement ctermfg=4 cterm=bold
|
||||
hi Constant ctermfg=13
|
||||
hi Number ctermfg=10
|
||||
hi Boolean ctermfg=2
|
||||
hi Special ctermfg=13
|
||||
hi Ignore ctermfg=0
|
||||
hi PreProc ctermfg=8 cterm=bold
|
||||
hi Operator ctermfg=5 cterm=bold
|
||||
" hi! link Operator Delimiter
|
||||
hi Delimiter guifg=#f4f3ee
|
||||
hi Comment guifg=#3A435A gui=bold
|
||||
hi Underlined guifg=#3F8CDE gui=underline
|
||||
hi Type guifg=#3F8CDE
|
||||
hi String guifg=#5679E3 gui=bold
|
||||
hi Keyword guifg=#3F8CDE
|
||||
hi Todo guifg=#5679E3 guibg=#101319 gui=bold,underline
|
||||
hi Urgent guifg=#E34F4F guibg=#101319 gui=bold,underline
|
||||
hi Done guifg=#69bfce guibg=#101319 gui=bold,underline
|
||||
hi Function guifg=#DE642B gui=bold
|
||||
" hi Function guifg=#DE642B gui=italic
|
||||
hi Identifier guifg=#f4f3ee gui=none
|
||||
hi Statement guifg=#3F8CDE gui=bold
|
||||
hi Constant guifg=#885AC4
|
||||
hi Number guifg=#3E66E0 gui=bold
|
||||
hi Boolean guifg=#69bfce
|
||||
hi Special guifg=#885AC4
|
||||
hi Ignore guifg=#171b24
|
||||
hi PreProc guifg=#DE642B gui=bold
|
||||
hi Operator guifg=#956dca gui=bold
|
||||
hi Define guifg=#3F8CDE gui=none
|
||||
hi! link Error ErrorMsg
|
||||
|
||||
" Extra TODO
|
||||
hi Conditional guifg=#5599E2 gui=bold
|
||||
hi Exception guifg=#5599E2 gui=none
|
||||
|
||||
"}}}
|
||||
" HTML {{{
|
||||
hi htmlTagName ctermfg=4
|
||||
hi htmlTag ctermfg=4
|
||||
hi htmlArg ctermfg=12
|
||||
hi htmlH1 cterm=bold
|
||||
hi htmlBold cterm=bold
|
||||
hi htmlItalic cterm=underline
|
||||
hi htmlUnderline cterm=underline
|
||||
hi htmlBoldItalic cterm=bold,underline
|
||||
hi htmlBoldUnderline cterm=bold,underline
|
||||
hi htmlUnderlineItalic cterm=underline
|
||||
hi htmlBoldUnderlineItalic cterm=bold,underline
|
||||
hi htmlTagName guifg=#3F8CDE
|
||||
hi htmlTag guifg=#3F8CDE
|
||||
hi htmlArg guifg=#3E66E0
|
||||
hi htmlH1 gui=bold
|
||||
hi htmlBold gui=bold
|
||||
hi htmlItalic gui=underline
|
||||
hi htmlUnderline gui=underline
|
||||
hi htmlBoldItalic gui=bold,underline
|
||||
hi htmlBoldUnderline gui=bold,underline
|
||||
hi htmlUnderlineItalic gui=underline
|
||||
hi htmlBoldUnderlineItalic gui=bold,underline
|
||||
hi! link htmlLink Underlined
|
||||
hi! link htmlEndTag htmlTag
|
||||
|
||||
"}}}
|
||||
" XML {{{
|
||||
hi xmlTagName ctermfg=2
|
||||
hi xmlTag ctermfg=10
|
||||
hi xmlTagName guifg=#69bfce
|
||||
hi xmlTag guifg=#56B7C8
|
||||
hi! link xmlString xmlTagName
|
||||
hi! link xmlAttrib xmlTag
|
||||
hi! link xmlEndTag xmlTag
|
||||
|
|
@ -123,45 +130,49 @@ hi! link javaScriptBraces Delimiter
|
|||
|
||||
"}}}
|
||||
" PHP {{{
|
||||
hi phpSpecialFunction ctermfg=5
|
||||
hi phpIdentifier ctermfg=11
|
||||
hi phpParent ctermfg=8
|
||||
hi phpSpecialFunction guifg=#956dca
|
||||
hi phpIdentifier guifg=#5679E3
|
||||
hi phpParent guifg=#3A435A
|
||||
hi! link phpVarSelector phpIdentifier
|
||||
hi! link phpHereDoc String
|
||||
hi! link phpDefine Statement
|
||||
|
||||
"}}}
|
||||
" Lua {{{
|
||||
hi luaIfThen guifg=#3F8CDE gui=bold
|
||||
hi luaCond guifg=#3F8CDE gui=bold
|
||||
"}}}
|
||||
" Markdown {{{
|
||||
hi markdownHeadingRule ctermfg=3
|
||||
hi markdownHeadingRule guifg=#5599E2
|
||||
hi! link markdownHeadingDelimiter markdownHeadingRule
|
||||
hi! link markdownLinkDelimiter Delimiter
|
||||
hi! link markdownURLDelimiter Delimiter
|
||||
hi! link markdownCodeDelimiter NonText
|
||||
hi markdownLinkDelimiter ctermfg=15 ctermbg=NONE cterm=NONE
|
||||
hi markdownLinkDelimiter guifg=#DDDBCF guibg=#101319 gui=none
|
||||
hi! link markdownLinkTextDelimiter markdownLinkDelimiter
|
||||
hi markdownLinkText ctermfg=2 ctermbg=NONE cterm=bold,underline
|
||||
hi markdownLinkText guifg=#3F8CDE guibg=#101319 gui=bold,underline
|
||||
hi! link markdownUrl markdownLinkText
|
||||
hi! link markdownUrlTitleDelimiter markdownLinkText
|
||||
hi! link markdownAutomaticLink markdownLinkText
|
||||
hi! link markdownIdDeclaration markdownLinkText
|
||||
hi markdownCode ctermfg=4 ctermbg=NONE cterm=NONE
|
||||
hi markdownCode guifg=#69bfce guibg=#101319 gui=none
|
||||
hi! link markdownCodeBlock String
|
||||
hi! link markdownCodeBlock markdownCode
|
||||
hi! link markdownCodeDelimiter markdownCode
|
||||
hi markdownBold ctermfg=5 ctermbg=NONE cterm=bold
|
||||
hi markdownItalic ctermfg=5 ctermbg=NONE cterm=italic
|
||||
hi markdownBlockquote ctermfg=15 ctermbg=NONE cterm=italic,bold
|
||||
hi markdownRule ctermfg=15 ctermbg=NONE cterm=italic,bold
|
||||
hi markdownBold guifg=#956dca guibg=#101319 gui=bold
|
||||
hi markdownItalic guifg=#956dca guibg=#101319 gui=italic
|
||||
hi markdownBlockquote guifg=#DDDBCF guibg=#101319 gui=italic,bold
|
||||
hi markdownRule guifg=#DDDBCF guibg=#101319 gui=italic,bold
|
||||
|
||||
hi markdownH1 ctermfg=3 ctermbg=NONE cterm=bold
|
||||
hi markdownH2 ctermfg=3 ctermbg=NONE cterm=bold
|
||||
hi markdownH3 ctermfg=2 ctermbg=NONE cterm=bold
|
||||
hi markdownH4 ctermfg=2 ctermbg=NONE cterm=bold
|
||||
hi markdownH5 ctermfg=2 ctermbg=NONE cterm=NONE
|
||||
hi markdownH6 ctermfg=2 ctermbg=NONE cterm=NONE
|
||||
hi markdownH1 guifg=#5599E2 guibg=#101319 gui=bold
|
||||
hi markdownH2 guifg=#5599E2 guibg=#101319 gui=bold
|
||||
hi markdownH3 guifg=#3F8CDE guibg=#101319 gui=bold
|
||||
hi markdownH4 guifg=#3F8CDE guibg=#101319 gui=bold
|
||||
hi markdownH5 guifg=#3F8CDE guibg=#101319 gui=none
|
||||
hi markdownH6 guifg=#3F8CDE guibg=#101319 gui=none
|
||||
|
||||
hi markdownListMarker ctermfg=6 ctermbg=NONE cterm=bold
|
||||
hi markdownOrderedListMarker ctermfg=3 ctermbg=NONE cterm=bold
|
||||
hi markdownListMarker guifg=#DE642B guibg=#101319 gui=bold
|
||||
hi markdownOrderedListMarker guifg=#5599E2 guibg=#101319 gui=bold
|
||||
|
||||
"}}}
|
||||
" Ruby {{{
|
||||
|
|
@ -173,11 +184,11 @@ hi! link rubyStringDelimiter rubyString
|
|||
|
||||
"}}}
|
||||
" Git {{{
|
||||
hi gitCommitBranch ctermfg=3
|
||||
hi gitCommitSelectedType ctermfg=12
|
||||
hi gitCommitSelectedFile ctermfg=4
|
||||
hi gitCommitUnmergedType ctermfg=9
|
||||
hi gitCommitUnmergedFile ctermfg=1
|
||||
hi gitCommitBranch guifg=#5599E2
|
||||
hi gitCommitSelectedType guifg=#3E66E0
|
||||
hi gitCommitSelectedFile guifg=#3F8CDE
|
||||
hi gitCommitUnmergedType guifg=#DE2B2B
|
||||
hi gitCommitUnmergedFile guifg=#E34F4F
|
||||
hi! link gitCommitFile Directory
|
||||
hi! link gitCommitUntrackedFile gitCommitUnmergedFile
|
||||
hi! link gitCommitDiscardedType gitCommitUnmergedType
|
||||
|
|
@ -191,7 +202,7 @@ hi! link vimHiAttrib Constant
|
|||
|
||||
"}}}
|
||||
" LESS {{{
|
||||
hi lessVariable ctermfg=11
|
||||
hi lessVariable guifg=#5679E3
|
||||
hi! link lessVariableValue Normal
|
||||
|
||||
"}}}
|
||||
|
|
@ -207,7 +218,7 @@ hi! link VimwikiBoldChar markdownBold
|
|||
hi! link VimwikiItalicChar markdownItalic
|
||||
hi! link VimwikiBoldCharT VimwikiBoldChar
|
||||
hi! link VimwikiItalicCharT VimwikiItalicChar
|
||||
hi VimwikiBoldItalicChar ctermfg=6 ctermbg=NONE cterm=italic,bold
|
||||
hi VimwikiBoldItalicChar guifg=#DE642B guibg=#101319 gui=italic,bold
|
||||
hi! link VimwikiItalicBoldChar VimwikiBoldItalicChar
|
||||
hi! link VimwikiBoldItalicCharT VimwikiBoldItalicChar
|
||||
hi! link VimwikiItalicBoldCharT VimwikiBoldItalicChar
|
||||
|
|
@ -238,50 +249,51 @@ hi! link helpURL Underlined
|
|||
|
||||
"}}}
|
||||
" CtrlP {{{
|
||||
hi CtrlPMatch ctermfg=1 cterm=bold
|
||||
hi CtrlPLinePre ctermfg=6 cterm=bold
|
||||
hi CtrlPMatch guifg=#E34F4F gui=bold
|
||||
hi CtrlPLinePre guifg=#DE642B gui=bold
|
||||
|
||||
"}}}
|
||||
" Mustache {{{
|
||||
hi mustacheSection ctermfg=14 cterm=bold
|
||||
hi mustacheMarker ctermfg=6
|
||||
hi mustacheVariable ctermfg=14
|
||||
hi mustacheVariableUnescape ctermfg=9
|
||||
hi mustachePartial ctermfg=13
|
||||
hi mustacheSection guifg=#DE642B gui=bold
|
||||
hi mustacheMarker guifg=#DE642B
|
||||
hi mustacheVariable guifg=#DE642B
|
||||
hi mustacheVariableUnescape guifg=#DE2B2B
|
||||
hi mustachePartial guifg=#885AC4
|
||||
|
||||
"}}}
|
||||
" Shell {{{
|
||||
hi shDerefSimple ctermfg=11
|
||||
hi shDerefSimple guifg=#5679E3
|
||||
hi shDo guifg=#5599E2
|
||||
hi! link shDerefVar shDerefSimple
|
||||
|
||||
"}}}
|
||||
" Syntastic {{{
|
||||
hi SyntasticWarningSign ctermfg=3 ctermbg=NONE
|
||||
hi SyntasticErrorSign ctermfg=1 ctermbg=NONE
|
||||
hi SyntasticStyleWarningSign ctermfg=4 ctermbg=NONE
|
||||
hi SyntasticStyleErrorSign ctermfg=2 ctermbg=NONE
|
||||
hi SyntasticWarningSign guifg=#5599E2 guibg=#101319
|
||||
hi SyntasticErrorSign guifg=#E34F4F guibg=#101319
|
||||
hi SyntasticStyleWarningSign guifg=#69bfce guibg=#101319
|
||||
hi SyntasticStyleErrorSign guifg=#3F8CDE guibg=#101319
|
||||
|
||||
"}}}
|
||||
" Netrw {{{
|
||||
hi netrwExe ctermfg=9
|
||||
hi netrwClassify ctermfg=8 cterm=bold
|
||||
hi netrwExe guifg=#DE2B2B
|
||||
hi netrwClassify guifg=#3A435A gui=bold
|
||||
|
||||
"}}}
|
||||
" Ledger {{{
|
||||
hi ledgerAccount ctermfg=11
|
||||
hi ledgerAccount guifg=#5679E3
|
||||
hi! link ledgerMetadata Comment
|
||||
hi! link ledgerTransactionStatus Statement
|
||||
|
||||
"}}}
|
||||
" Diff {{{
|
||||
hi diffAdded ctermfg=4
|
||||
hi diffRemoved ctermfg=1
|
||||
hi diffAdded guifg=#3F8CDE
|
||||
hi diffRemoved guifg=#E34F4F
|
||||
hi! link diffFile PreProc
|
||||
hi! link diffLine Title
|
||||
|
||||
"}}}
|
||||
" Plug {{{
|
||||
hi plugSha ctermfg=3
|
||||
hi plugSha guifg=#5599E2
|
||||
|
||||
"}}}
|
||||
" Blade {{{
|
||||
|
|
@ -290,5 +302,146 @@ hi! link bladeParen phpParent
|
|||
hi! link bladeEchoDelim PreProc
|
||||
|
||||
"}}}
|
||||
" Solidity {{{
|
||||
hi! link solStorageType Keyword
|
||||
hi! link solFuncStorageType Keyword
|
||||
hi! link solStorageConst Keyword
|
||||
hi! link solParens Normal
|
||||
hi! link solComma Normal
|
||||
hi! link solMapping Define
|
||||
hi! link solEnum Define
|
||||
hi! link solStruct Define
|
||||
hi! link solNumber Number
|
||||
hi! link solString String
|
||||
hi! link solString String
|
||||
hi! link solOperator Operator
|
||||
hi! link solDestructure Keyword
|
||||
hi! link solFunction Define
|
||||
hi! link solConstructor Define
|
||||
hi! link solFuncName Function
|
||||
hi! link solFuncModifier Keyword
|
||||
hi! link solFuncModCustom Keyword
|
||||
hi! link solFuncCall Function
|
||||
hi! link solFuncReturn Special
|
||||
hi! link solModifier Define
|
||||
hi! link solModifierName Function
|
||||
hi! link solModifierInsert Function
|
||||
hi! link solContract Define
|
||||
hi! link solContractName Function
|
||||
hi! link solInheritor Keyword
|
||||
hi! link solLibUsing Special
|
||||
hi! link solLibName Type
|
||||
hi! link solEvent Define
|
||||
hi! link solEventName Function
|
||||
hi! link solEventParamMod Keyword
|
||||
hi! link solEmitEvent Special
|
||||
hi! link solConstant Constant
|
||||
hi! link solReserved Error
|
||||
hi! link solPragma PreProc
|
||||
hi! link solAssemblyBlock PreProc
|
||||
hi! link solAssemblyName Special
|
||||
hi! link solAssemblyOperator Operator
|
||||
hi! link solAssemblyLet Keyword
|
||||
hi! link solAssemblyMethod Special
|
||||
hi! link solAssemblyConst Constant
|
||||
hi! link solAssemblyCond Conditional
|
||||
hi! link solMethod Special
|
||||
hi! link solRepeat Repeat
|
||||
hi! link solLabel Label
|
||||
hi! link solException Exception
|
||||
hi! link solValueType Type
|
||||
hi! link solTypeCast Type
|
||||
hi! link solIf Keyword
|
||||
hi! link solElse Keyword
|
||||
hi! link solLoop Keyword
|
||||
hi! link solTodo Todo
|
||||
hi! link solComment Comment
|
||||
hi! link solNatspecTag SpecialComment
|
||||
hi! link solNatspecBlock Comment
|
||||
hi! link solNatspecParam Define
|
||||
|
||||
|
||||
" }}}
|
||||
" FZF {{{
|
||||
hi FzfMain guifg=#f4f3ee guibg=#171b24
|
||||
hi FzfMargin guifg=#f4f3ee guibg=#171b24
|
||||
hi FzfHighlight guifg=#E34F4F guibg=#E34F4F
|
||||
hi FzfBorder guifg=#DE642B guibg=#101319
|
||||
hi FzfBgPlus guibg=#171b24 gui=none
|
||||
hi FzfBorderFloating guibg=#171b24 guifg=#E34F4F
|
||||
"}}}
|
||||
" Statusline {{{
|
||||
hi StatusLine guifg=#171b24 guibg=none gui=bold
|
||||
hi StatusLineNC guifg=#171b24 guibg=none gui=bold
|
||||
|
||||
hi StatusLineAccent guibg=#171b24 guifg=#f4f3ee
|
||||
hi StatusLineNormalAccent guibg=#171b24 guifg=#5679E3
|
||||
hi StatusLineInsertAccent guibg=#171b24 guifg=#E34F4F
|
||||
hi StatusLineVisualAccent guibg=#171b24 guifg=#956dca
|
||||
hi StatusLineReplaceAccent guibg=#171b24 guifg=#e37e4f
|
||||
hi StatusLineCmdLineAccent guibg=#171b24 guifg=#69bfce
|
||||
|
||||
" }}}
|
||||
" Tabline {{{
|
||||
hi TabLine guifg=#3A435A guibg=none gui=none
|
||||
hi TabLineSel guifg=#f4f3ee guibg=none
|
||||
hi TabLineFill guifg=#E34F4F guibg=none gui=none
|
||||
|
||||
hi CustomTablineBubbleEdge guibg=none guifg=#171b24
|
||||
hi CustomTablineBubbleIndex guibg=#171b24 guifg=#69bfce gui=bold
|
||||
hi CustomTablineBubbleIndexSel guibg=#171b24 guifg=#956dca gui=bold
|
||||
hi CustomTablineBubbleLabel guibg=#171b24 guifg=#3A435A gui=bold
|
||||
hi CustomTablineBubbleLabelSel guibg=#171b24 guifg=#f4f3ee gui=bold
|
||||
hi CustomTablineBubbleLabelSelModified guibg=#171b24 guifg=#f4f3ee gui=bold,undercurl guisp=#5599E2
|
||||
hi CustomTablineBubbleDirectory guibg=#171b24 guifg=#5679E3 gui=bold
|
||||
hi CustomTablineBubbleFiletype guibg=#171b24 guifg=#e37e4f gui=bold
|
||||
hi CustomTablineBubbleGit guibg=#171b24 guifg=#E34F4F gui=bold
|
||||
hi CustomTablineBubbleSeparator guibg=#171b24 guifg=#3A435A gui=bold
|
||||
hi CustomTablineBubbleLine guibg=#171b24 guifg=#E34F4F gui=bold
|
||||
hi CustomTablineBubbleColumn guibg=#171b24 guifg=#69bfce gui=bold
|
||||
hi CustomTablineBubblePercentage guibg=#171b24 guifg=#5679E3 gui=bold
|
||||
hi CustomTablineBubbleTotalLines guibg=#171b24 guifg=#956dca gui=bold
|
||||
|
||||
" }}}
|
||||
" Vim Sneak {{{
|
||||
hi Sneak guifg=#171b24 gui=bold guibg=#5679E3
|
||||
hi SneakScope guifg=#171b24 gui=bold guibg=#DE642B
|
||||
hi SneakLabel guifg=#171b24 gui=bold guibg=#5679E3
|
||||
|
||||
"}}}
|
||||
" GitGutter {{{
|
||||
hi GitGutterAdd guifg=#56B7C8 guibg=#101319 gui=bold
|
||||
hi GitGutterChange guifg=#3E66E0 guibg=#101319 gui=bold
|
||||
hi GitGutterDelete guifg=#DE2B2B guibg=#101319 gui=bold
|
||||
hi GitGutterChangeDelete guifg=#5679E3 guibg=#101319 gui=bold
|
||||
|
||||
hi GitGutterAddLine guifg=#56B7C8 guibg=#101319 gui=bold
|
||||
hi GitGutterChangeLine guifg=#3E66E0 guibg=#101319 gui=bold
|
||||
hi GitGutterDeleteLine guifg=#DE2B2B guibg=#101319 gui=bold
|
||||
hi GitGutterChangeDeleteLine guifg=#5679E3 guibg=#101319 gui=bold
|
||||
|
||||
highlight link diffAdded DiffAdd
|
||||
highlight link diffChanged DiffChange
|
||||
highlight link diffRemoved DiffDelete
|
||||
"}}}
|
||||
|
||||
" highlightedyank
|
||||
" highlight HighlightedyankRegion gui=reverse gui=reverse
|
||||
highlight HighlightedyankRegion guibg=#3F8CDE guifg=#171b24 gui=none
|
||||
|
||||
" Mini
|
||||
hi MiniIndentscopeSymbol guifg=#956dca guibg=none gui=none
|
||||
|
||||
" Org
|
||||
hi @org.headline.level1 guibg=none guifg=#3F8CDE gui=bold
|
||||
hi @org.headline.level2 guibg=none guifg=#DE642B gui=bold
|
||||
hi @org.headline.level3 guibg=none guifg=#DE2B2B gui=bold
|
||||
hi @org.headline.level4 guibg=none guifg=#3E66E0 gui=bold
|
||||
hi @org.headline.level5 guibg=none guifg=#56B7C8 gui=bold
|
||||
hi @org.headline.level6 guibg=none guifg=#885AC4 gui=bold
|
||||
hi @org.headline.level7 guibg=none guifg=#3F8CDE gui=bold
|
||||
hi @org.headline.level8 guibg=none guifg=#DE642B gui=bold
|
||||
|
||||
" Nvim-cmp
|
||||
hi FloatBorder guibg=none guifg=#5599E2 gui=bold
|
||||
|
||||
" vim: fdm=marker:sw=2:sts=2:et
|
||||
|
|
|
|||
13
config/nvim/init.lua
Normal file
13
config/nvim/init.lua
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = " m"
|
||||
vim.o.termguicolors = true
|
||||
|
||||
require('appearance')
|
||||
|
||||
-- Still cleaning these up, will upload in a few decades
|
||||
-- require('plugins')
|
||||
-- require('settings')
|
||||
-- require('utils')
|
||||
-- require('keybinds')
|
||||
-- require('autocommands')
|
||||
-- require('greek')
|
||||
|
|
@ -1,363 +0,0 @@
|
|||
" ~~~ Plugins ~~~
|
||||
" call plug#begin('~/.local/share/nvim/plugged')
|
||||
" Plug 'shougo/deoplete.nvim'
|
||||
" Plug 'ctrlpvim/ctrlp.vim'
|
||||
" Plug 'itchyny/lightline.vim'
|
||||
" Plug 'tpope/vim-commentary'
|
||||
" Plug 'tpope/vim-surround'
|
||||
" Plug 'lambdalisue/suda.vim'
|
||||
" Plug 'jiangmiao/auto-pairs'
|
||||
" Plug 'machakann/vim-highlightedyank'
|
||||
" Plug 'vimwiki/vimwiki'
|
||||
" Plug 'tpope/vim-markdown'
|
||||
" Plug 'nelstrom/vim-markdown-folding'
|
||||
" call plug#end()
|
||||
|
||||
" Highlight the line on which the cursor lives.
|
||||
set nocursorline
|
||||
|
||||
" Always show at least one line above/below the cursor.
|
||||
set scrolloff=1
|
||||
" Always show at least one line left/right of the cursor.
|
||||
set sidescrolloff=5
|
||||
|
||||
" Relative line numbers
|
||||
set number relativenumber
|
||||
|
||||
" Highlight matching pairs of brackets. Use the '%' character to jump between them.
|
||||
set matchpairs+=<:>
|
||||
|
||||
" Display different types of white spaces.
|
||||
set list
|
||||
set listchars=tab:›\ ,trail:•,extends:#,nbsp:.
|
||||
|
||||
" Use system clipboard
|
||||
set clipboard=unnamedplus
|
||||
|
||||
" Remove timeout for partially typed commands
|
||||
set notimeout
|
||||
|
||||
" F keys
|
||||
" Quick write session with F2
|
||||
map <F2> :mksession! ~/.vim_session<cr>
|
||||
" And load session with F3
|
||||
map <F3> :source ~/.vim_session<cr>
|
||||
|
||||
" Fix indentation
|
||||
map <F7> gg=G<C-o><C-o>
|
||||
" Toggle auto change directory
|
||||
map <F8> :set autochdir! autochdir?<CR>
|
||||
|
||||
" Toggle vertical line
|
||||
set colorcolumn=
|
||||
fun! ToggleCC()
|
||||
if &cc == ''
|
||||
" set cc=1,4,21
|
||||
set cc=80
|
||||
else
|
||||
set cc=
|
||||
endif
|
||||
endfun
|
||||
nnoremap <silent> <F9> :call ToggleCC()<CR>
|
||||
|
||||
" Beginning and end of line
|
||||
imap <C-a> <home>
|
||||
imap <C-e> <end>
|
||||
cmap <C-a> <home>
|
||||
cmap <C-e> <end>
|
||||
|
||||
" Control-S Save
|
||||
nmap <C-S> :w<cr>
|
||||
vmap <C-S> <esc>:w<cr>
|
||||
imap <C-S> <esc>:w<cr>
|
||||
" Save + back into insert
|
||||
" imap <C-S> <esc>:w<cr>a
|
||||
|
||||
" Control-C Copy in visual mode
|
||||
vmap <C-C> y
|
||||
|
||||
" Control-V Paste in insert and command mode
|
||||
imap <C-V> <esc>pa
|
||||
cmap <C-V> <C-r>0
|
||||
|
||||
" Window Movement
|
||||
nmap <M-h> <C-w>h
|
||||
nmap <M-j> <C-w>j
|
||||
nmap <M-k> <C-w>k
|
||||
nmap <M-l> <C-w>l
|
||||
|
||||
" Resizing
|
||||
nmap <C-M-H> 2<C-w><
|
||||
nmap <C-M-L> 2<C-w>>
|
||||
nmap <C-M-K> <C-w>-
|
||||
nmap <C-M-J> <C-w>+
|
||||
|
||||
" Insert mode movement
|
||||
imap <M-h> <left>
|
||||
imap <M-j> <down>
|
||||
imap <M-k> <up>
|
||||
imap <M-l> <right>
|
||||
imap <M-f> <C-right>
|
||||
imap <M-b> <C-left>
|
||||
|
||||
" Spacemacs-like keybinds
|
||||
" Change <leader> bind from default \
|
||||
" nnoremap <space> <nop>
|
||||
" let mapleader=" "
|
||||
|
||||
" Make ci( work like quotes do
|
||||
function! New_cib()
|
||||
if search("(","bn") == line(".")
|
||||
sil exe "normal! f)ci("
|
||||
sil exe "normal! l"
|
||||
startinsert
|
||||
else
|
||||
sil exe "normal! f(ci("
|
||||
sil exe "normal! l"
|
||||
startinsert
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" And for curly brackets
|
||||
function! New_ciB()
|
||||
if search("{","bn") == line(".")
|
||||
sil exe "normal! f}ci{"
|
||||
sil exe "normal! l"
|
||||
startinsert
|
||||
else
|
||||
sil exe "normal! f{ci{"
|
||||
sil exe "normal! l"
|
||||
startinsert
|
||||
endif
|
||||
endfunction
|
||||
|
||||
nnoremap ci( :call New_cib()<CR>
|
||||
nnoremap cib :call New_cib()<CR>
|
||||
nnoremap ci{ :call New_ciB()<CR>
|
||||
nnoremap ciB :call New_ciB()<CR>
|
||||
|
||||
" Alt-m for creating a new line in insert mode
|
||||
imap <M-m> <esc>o
|
||||
|
||||
" netrw configuration
|
||||
let g:netrw_browse_split = 0
|
||||
let g:netrw_altfile = 1
|
||||
|
||||
" Cycle windows
|
||||
nmap <M-o> <C-W>w
|
||||
vmap <M-o> <C-W>w
|
||||
tmap <M-o> <esc><C-W>w
|
||||
imap <M-o> <esc><C-W>w
|
||||
|
||||
" Command mode history
|
||||
cmap <M-p> <up>
|
||||
cmap <M-n> <down>
|
||||
cmap <M-k> <up>
|
||||
cmap <M-j> <down>
|
||||
|
||||
" Back to normal mode from insert
|
||||
" inoremap jk <esc>
|
||||
" inoremap JK <esc>
|
||||
|
||||
" Manually refresh file
|
||||
nmap <F5> :e!<cr>
|
||||
|
||||
" Indentation
|
||||
set smarttab
|
||||
set expandtab
|
||||
set tabstop=8
|
||||
set softtabstop=4
|
||||
set shiftwidth=4
|
||||
|
||||
"set smartindent
|
||||
set autoindent
|
||||
"set cindent
|
||||
|
||||
set nocompatible
|
||||
filetype plugin indent on
|
||||
|
||||
" Write buffer through sudo (works on vim but not neovim)
|
||||
" cnoreabbrev w!! w !sudo -S tee % >/dev/null
|
||||
" Neovim: suda plugin
|
||||
cnoreabbrev w!! w suda://%
|
||||
|
||||
" Allow switching between buffers without saving
|
||||
set hidden
|
||||
|
||||
" Mouse support
|
||||
set mouse=a
|
||||
|
||||
"Case insensitive searching
|
||||
set ignorecase
|
||||
|
||||
"Will automatically switch to case sensitive if you use any capitals
|
||||
set smartcase
|
||||
|
||||
" Auto toggle smart case of for ex commands
|
||||
" Assumes 'set ignorecase smartcase'
|
||||
augroup dynamic_smartcase
|
||||
autocmd!
|
||||
autocmd CmdLineEnter : set nosmartcase
|
||||
autocmd CmdLineLeave : set smartcase
|
||||
augroup END
|
||||
|
||||
" Substitute live preview
|
||||
set inccommand=nosplit
|
||||
|
||||
" Markdown Folding
|
||||
let g:markdown_fold_style = 'nested'
|
||||
|
||||
" Vimwiki
|
||||
" let g:vimwiki_list = [{'path': '~/dox/vimwiki/', 'syntax': 'markdown', 'ext': '.md'}]
|
||||
let g:vimwiki_global_ext=0
|
||||
let g:vimwiki_table_mappings=0
|
||||
let g:vimwiki_folding='expr'
|
||||
nmap <leader>vv <Plug>VimwikiIndex
|
||||
nmap <leader>vV <Plug>VimwikiTabIndex
|
||||
nmap <leader>vs <Plug>VimwikiUISelect
|
||||
nmap <leader>vi <Plug>VimwikiDiaryIndex
|
||||
nmap <leader>vdd <Plug>VimwikiMakeDiaryNote
|
||||
nmap <leader>vDD <Plug>VimwikiTabMakeDiaryNote
|
||||
nmap <leader>vdy <Plug>VimwikiMakeYesterdayDiaryNote
|
||||
nmap <leader>vdt <Plug>VimwikiMakeTomorrowDiaryNote
|
||||
nmap <M-space> <Plug>VimwikiToggleListItem
|
||||
|
||||
" Highlighted yank (-1 for persistent)
|
||||
let g:highlightedyank_highlight_duration = 400
|
||||
|
||||
" If lightline/airline is enabled, don't show mode under it
|
||||
set noshowmode
|
||||
|
||||
" Shell
|
||||
set shell=/bin/zsh
|
||||
|
||||
" Ctrlp
|
||||
let g:ctrlp_switch_buffer = '0'
|
||||
" Useful for large projects
|
||||
let g:ctrlp_max_files=0
|
||||
let g:ctrlp_max_depth=10
|
||||
" So that it does not only index starting from current directory
|
||||
let g:ctrlp_working_path_mode = ""
|
||||
let g:ctrlp_cache_dir = $HOME . '/.cache/ctrlp'
|
||||
" Use ag AKA the_silver_searcher for indexing. Faster!!!
|
||||
" TIP: Use ~/.ignore to ignore directories/files
|
||||
" set grepprg=ag\ --nogroup\ --nocolor
|
||||
" let g:ctrlp_user_command = 'ag %s -l --hidden --nocolor -g ""'
|
||||
""if executable('ag')
|
||||
"" let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
|
||||
""endif
|
||||
let g:ctrlp_show_hidden =1
|
||||
let g:ctrlp_clear_cache_on_exit = 0
|
||||
|
||||
" Lightline
|
||||
" Get default from :h lightline
|
||||
let g:lightline = {
|
||||
\ 'colorscheme': 'lena',
|
||||
\ }
|
||||
|
||||
let g:lightline.active = {
|
||||
\ 'left': [ [ 'mode', 'paste', 'sep1' ],
|
||||
\ [ 'readonly', 'filename', 'modified' ],
|
||||
\ [ ] ],
|
||||
\ 'right': [ [ 'lineinfo' ],
|
||||
\ [ 'percent' ],
|
||||
\ [ 'filetype' ] ]
|
||||
\ }
|
||||
|
||||
let g:lightline.inactive = {
|
||||
\ 'left': [ [ 'mode', 'paste', 'sep1' ],
|
||||
\ [ 'readonly', 'filename', 'modified' ] ],
|
||||
\ 'right': [ [ 'lineinfo' ],
|
||||
\ [ 'percent' ],
|
||||
\ [ 'filetype' ] ]
|
||||
\ }
|
||||
|
||||
let g:lightline.tabline = {
|
||||
\ 'left': [ [ 'tabs' ] ],
|
||||
\ 'right': [ ] }
|
||||
|
||||
let g:lightline.tab = {
|
||||
\ 'active': [ 'tabnum', 'filename', 'modified' ],
|
||||
\ 'inactive': [ 'tabnum', 'filename', 'modified' ] }
|
||||
|
||||
let g:lightline.component = {
|
||||
\ 'mode': '%{lightline#mode()}',
|
||||
\ 'absolutepath': '%F',
|
||||
\ 'relativepath': '%f',
|
||||
\ 'filename': '%t',
|
||||
\ 'modified': '%M',
|
||||
\ 'bufnum': '%n',
|
||||
\ 'paste': '%{&paste?"PASTE":""}',
|
||||
\ 'readonly': '%R',
|
||||
\ 'charvalue': '%b',
|
||||
\ 'charvaluehex': '%B',
|
||||
\ 'fileencoding': '%{&fenc!=#""?&fenc:&enc}',
|
||||
\ 'fileformat': '%{&ff}',
|
||||
\ 'filetype': '%{&ft!=#""?&ft:"no ft"}',
|
||||
\ 'percent': '%3p%%',
|
||||
\ 'percentwin': '%P',
|
||||
\ 'spell': '%{&spell?&spelllang:""}',
|
||||
\ 'lineinfo': '%3l:%-2v',
|
||||
\ 'line': '%l',
|
||||
\ 'column': '%c',
|
||||
\ 'close': '%999X X ',
|
||||
\ 'winnr': '%{winnr()}',
|
||||
\ 'sep1': ''
|
||||
\}
|
||||
|
||||
let g:lightline.mode_map = {
|
||||
\ 'n' : 'N',
|
||||
\ 'i' : 'I',
|
||||
\ 'R' : 'R',
|
||||
\ 'v' : 'V',
|
||||
\ 'V' : 'L',
|
||||
\ "\<C-v>": 'B',
|
||||
\ 'c' : 'C',
|
||||
\ 's' : 'S',
|
||||
\ 'S' : 'S-LINE',
|
||||
\ "\<C-s>": 'S-BLOCK',
|
||||
\ 't': 'T',
|
||||
\ }
|
||||
|
||||
|
||||
let g:lightline.separator = {
|
||||
\ 'left': '', 'right': ''
|
||||
\}
|
||||
let g:lightline.subseparator = {
|
||||
\ 'left': '', 'right': ''
|
||||
\}
|
||||
|
||||
let g:lightline.tabline_separator = g:lightline.separator
|
||||
let g:lightline.tabline_subseparator = g:lightline.subseparator
|
||||
|
||||
let g:lightline.enable = {
|
||||
\ 'statusline': 1,
|
||||
\ 'tabline': 1
|
||||
\ }
|
||||
|
||||
" deoplete
|
||||
let g:deoplete#enable_at_startup = 1
|
||||
inoremap <expr><tab> pumvisible() ? "\<c-n>" : "\<tab>"
|
||||
|
||||
" Clear search highlighting with Escape key
|
||||
nnoremap <silent><esc> :noh<return><esc>
|
||||
|
||||
" Allow color schemes to do bright colors without forcing bold.
|
||||
if &t_Co == 8 && $TERM !~# '^linux\|^Eterm'
|
||||
set t_Co=16
|
||||
endif
|
||||
|
||||
set wildmenu
|
||||
|
||||
set encoding=utf8
|
||||
scriptencoding utf-8
|
||||
|
||||
" Colorscheme
|
||||
colorscheme lena
|
||||
set fillchars=vert::
|
||||
|
||||
" Restore last cursor position and marks on open
|
||||
au BufReadPost *
|
||||
\ if line("'\"") > 1 && line("'\"") <= line("$") && &ft !~# 'commit'
|
||||
\ | exe "normal! g`\""
|
||||
\ | endif
|
||||
144
config/nvim/lua/appearance.lua
Normal file
144
config/nvim/lua/appearance.lua
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
-- Load colorscheme
|
||||
vim.cmd [[colorscheme lena]]
|
||||
|
||||
-- Display different types of white spaces
|
||||
vim.o.list = true
|
||||
vim.o.listchars = 'tab:│ ,trail:•,extends:#,nbsp:.'
|
||||
-- set listchars=tab:›\ ,trail:•,extends:#,nbsp:.
|
||||
|
||||
-- Characters to fill the statuslines and vertical separators
|
||||
vim.o.fillchars='stl:━,stlnc:━,vert:┃,vertleft:┫,vertright:┣,verthoriz:╋,horiz:━,horizup:┻,horizdown:┳,eob:⬝'
|
||||
|
||||
-- Only one statusline for all windows
|
||||
vim.opt.laststatus = 3
|
||||
-- Always show tabline, since statusline has no information
|
||||
vim.o.showtabline = 2
|
||||
|
||||
local function LineInfo()
|
||||
return table.concat {
|
||||
"%#CustomTablineBubbleEdge#",
|
||||
"%#CustomTablineBubbleLine# ",
|
||||
"%2l", -- Space-padded line number
|
||||
"%#CustomTablineBubbleSeparator# ✖ ",
|
||||
"%#CustomTablineBubbleColumn#",
|
||||
"%-2c", -- Space padded, right-aligned column number
|
||||
" %#CustomTablineBubbleEdge#",
|
||||
"%#CustomTablineBubblePercentage# ",
|
||||
"%P", -- Space-padded line number
|
||||
"%#CustomTablineBubbleSeparator# ● ",
|
||||
"%#CustomTablineBubbleTotalLines#",
|
||||
"%L",
|
||||
" %#CustomTablineBubbleEdge# ",
|
||||
}
|
||||
end
|
||||
|
||||
function FiletypeAndDirectoryAndGit()
|
||||
local full_path = vim.fn.expand('%:p:h'):gsub(vim.fn.expand('~'), '~')
|
||||
local components = vim.split(full_path, '/')
|
||||
|
||||
-- Get the direct parent directory
|
||||
local parent_dir = table.remove(components)
|
||||
|
||||
-- Truncate each component to a maximum of three characters
|
||||
for i, component in ipairs(components) do
|
||||
components[i] = string.sub(component, 1, 3)
|
||||
end
|
||||
|
||||
-- Add the direct parent directory back to the components
|
||||
table.insert(components, parent_dir)
|
||||
|
||||
-- Reconstruct the truncated path
|
||||
local truncated_path = table.concat(components, '/')
|
||||
|
||||
local git_info = vim.b.gitsigns_status_dict
|
||||
|
||||
local git_info_or_end_bubble
|
||||
if not git_info or git_info.head == "" then
|
||||
git_info_or_end_bubble = " %#CustomTablineBubbleEdge#"
|
||||
else
|
||||
git_info_or_end_bubble = " %#CustomTablineBubbleEdge#%#CustomTablineBubbleGit# "..git_info.head.." %#CustomTablineBubbleEdge#"
|
||||
end
|
||||
|
||||
return table.concat {
|
||||
"%#CustomTablineBubbleEdge#",
|
||||
"%#CustomTablineBubbleFiletype# ",
|
||||
vim.bo.filetype == "" and "-" or vim.bo.filetype,
|
||||
" %#CustomTablineBubbleEdge#",
|
||||
"%#CustomTablineBubbleDirectory# ",
|
||||
truncated_path,
|
||||
git_info_or_end_bubble
|
||||
}
|
||||
end
|
||||
|
||||
function Tabs()
|
||||
local selected_tabnr = vim.fn.tabpagenr()
|
||||
local total_tabs = vim.fn.tabpagenr('$')
|
||||
|
||||
local tabs_string = ''
|
||||
local i = 1
|
||||
while i <= total_tabs do
|
||||
local buflist = vim.fn.tabpagebuflist(i)
|
||||
local winnr = vim.fn.tabpagewinnr(i)
|
||||
local file = vim.fn.fnamemodify(vim.fn.bufname(buflist[winnr]), ':p:t')
|
||||
if (file == '') then
|
||||
file = '[No Name]'
|
||||
end
|
||||
local tab_bubble, hi_label, hi_index
|
||||
if (i == selected_tabnr) then
|
||||
hi_index = "%#CustomTablineBubbleIndexSel#"
|
||||
if (vim.bo.modified) then
|
||||
hi_label = "%#CustomTablineBubbleLabelSelModified#"
|
||||
else
|
||||
hi_label = "%#CustomTablineBubbleLabelSel#"
|
||||
end
|
||||
else
|
||||
hi_index = "%#CustomTablineBubbleIndex#"
|
||||
hi_label = "%#CustomTablineBubbleLabel#"
|
||||
end
|
||||
|
||||
tab_bubble = table.concat {
|
||||
"%"..i.."T", -- Start of clickable section for tab i
|
||||
'%#CustomTablineBubbleEdge#',
|
||||
hi_index..' '..i..' ',
|
||||
'%#CustomTablineBubbleEdge#',
|
||||
'%#CustomTablineBubbleEdge#',
|
||||
hi_label..' '..file..' ',
|
||||
'%#CustomTablineBubbleEdge#',
|
||||
"%X", -- End of clickable section
|
||||
' ',
|
||||
}
|
||||
tabs_string = tabs_string..tab_bubble
|
||||
i = i + 1
|
||||
end
|
||||
return tabs_string
|
||||
end
|
||||
|
||||
function CustomTabline()
|
||||
return table.concat {
|
||||
Tabs(),
|
||||
"%=", -- Switch to right side
|
||||
FiletypeAndDirectoryAndGit(),
|
||||
" ",
|
||||
LineInfo(),
|
||||
}
|
||||
end
|
||||
|
||||
-- Empty since all the info is in the tabline now
|
||||
-- TODO Add LSP info in statusline at some point
|
||||
function CustomStatusline()
|
||||
return ""
|
||||
end
|
||||
|
||||
-- Since some of the displayed information does not update automatically in the
|
||||
-- tabline, but only the statusline, we need to use this autocmd to update it
|
||||
-- on relevant events
|
||||
vim.api.nvim_create_autocmd({'CursorMoved', 'BufEnter'}, {
|
||||
callback = function()
|
||||
vim.api.nvim_command('redrawtabline')
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_exec([[
|
||||
set tabline=%!v:lua.CustomTabline()
|
||||
set statusline=%!v:lua.CustomStatusline()
|
||||
]], false)
|
||||
|
|
@ -1,123 +0,0 @@
|
|||
" ====================================================================
|
||||
" Make sure to:
|
||||
" 1. source this file somewhere at the bottom of your config.
|
||||
" 2. disable any statusline plugins, as they will override this.
|
||||
" ====================================================================
|
||||
|
||||
" Do not show mode under the statusline since the statusline itself changes
|
||||
" color depending on mode
|
||||
set noshowmode
|
||||
|
||||
set laststatus=2
|
||||
" ~~~~ Statusline configuration ~~~~
|
||||
" ':help statusline' is your friend!
|
||||
function! RedrawModeColors(mode) " {{{
|
||||
" Normal mode
|
||||
if a:mode == 'n'
|
||||
hi MyStatuslineAccent ctermfg=8 cterm=NONE ctermbg=NONE
|
||||
hi MyStatuslineFilename ctermfg=4 cterm=none ctermbg=0
|
||||
hi MyStatuslineAccentBody ctermbg=8 cterm=NONE ctermfg=4
|
||||
" Insert mode
|
||||
elseif a:mode == 'i'
|
||||
hi MyStatuslineAccent ctermfg=8 cterm=NONE ctermbg=NONE
|
||||
hi MyStatuslineFilename ctermfg=1 cterm=none ctermbg=0
|
||||
hi MyStatuslineAccentBody ctermbg=8 cterm=NONE ctermfg=1
|
||||
" Replace mode
|
||||
elseif a:mode == 'R'
|
||||
hi MyStatuslineAccent ctermfg=8 cterm=NONE ctermbg=NONE
|
||||
hi MyStatuslineFilename ctermfg=3 cterm=none ctermbg=0
|
||||
hi MyStatuslineAccentBody ctermbg=8 cterm=NONE ctermfg=3
|
||||
" Visual mode
|
||||
elseif a:mode == 'v' || a:mode == 'V' || a:mode == '^V'
|
||||
hi MyStatuslineAccent ctermfg=8 cterm=NONE ctermbg=NONE
|
||||
hi MyStatuslineFilename ctermfg=5 cterm=none ctermbg=0
|
||||
hi MyStatuslineAccentBody ctermbg=8 cterm=NONE ctermfg=5
|
||||
" Command mode
|
||||
elseif a:mode == 'c'
|
||||
hi MyStatuslineAccent ctermfg=8 cterm=NONE ctermbg=NONE
|
||||
hi MyStatuslineFilename ctermfg=6 cterm=none ctermbg=0
|
||||
hi MyStatuslineAccentBody ctermbg=8 cterm=NONE ctermfg=6
|
||||
" Terminal mode
|
||||
elseif a:mode == 't'
|
||||
hi MyStatuslineAccent ctermfg=8 cterm=NONE ctermbg=NONE
|
||||
hi MyStatuslineFilename ctermfg=1 cterm=none ctermbg=0
|
||||
hi MyStatuslineAccentBody ctermbg=8 cterm=NONE ctermfg=1
|
||||
endif
|
||||
" Return empty string so as not to display anything in the statusline
|
||||
return ''
|
||||
endfunction
|
||||
" }}}
|
||||
function! SetModifiedSymbol(modified) " {{{
|
||||
if a:modified == 1
|
||||
hi MyStatuslineModifiedBody ctermbg=0 cterm=bold ctermfg=1
|
||||
else
|
||||
hi MyStatuslineModifiedBody ctermbg=0 cterm=bold ctermfg=8
|
||||
endif
|
||||
return '●'
|
||||
endfunction
|
||||
" }}}
|
||||
function! SetFiletype(filetype) " {{{
|
||||
if a:filetype == ''
|
||||
return '-'
|
||||
else
|
||||
return a:filetype
|
||||
endif
|
||||
endfunction
|
||||
" }}}
|
||||
|
||||
" Statusbar items
|
||||
" ====================================================================
|
||||
|
||||
" This will not be displayed, but the function RedrawModeColors will be
|
||||
" called every time the mode changes, thus updating the colors used for the
|
||||
" components.
|
||||
set statusline=%{RedrawModeColors(mode())}
|
||||
" Left side items
|
||||
" =======================
|
||||
set statusline+=%#MyStatuslineAccent#
|
||||
set statusline+=%#MyStatuslineAccentBody#\
|
||||
" Filename
|
||||
set statusline+=%#MyStatuslineFilename#\ %.20f
|
||||
set statusline+=%#MyStatuslineSeparator#\
|
||||
" Modified status
|
||||
set statusline+=%#MyStatuslineModified#
|
||||
set statusline+=%#MyStatuslineModifiedBody#%{SetModifiedSymbol(&modified)}
|
||||
set statusline+=%#MyStatuslineModified#
|
||||
" Right side items
|
||||
" =======================
|
||||
set statusline+=%=
|
||||
" Line and Column
|
||||
set statusline+=%#MyStatuslineLineCol#
|
||||
set statusline+=%#MyStatuslineLineColBody#%2l
|
||||
set statusline+=\/%#MyStatuslineLineColBody#%2c
|
||||
set statusline+=%#MyStatuslineLineCol#
|
||||
" Padding
|
||||
set statusline+=\
|
||||
" Current scroll percentage and total lines of the file
|
||||
set statusline+=%#MyStatuslinePercentage#
|
||||
set statusline+=%#MyStatuslinePercentageBody#%P
|
||||
set statusline+=\/\%#MyStatuslinePercentageBody#%L
|
||||
set statusline+=%#MyStatuslinePercentage#
|
||||
" Padding
|
||||
set statusline+=\
|
||||
" Filetype
|
||||
set statusline+=%#MyStatuslineFiletype#
|
||||
set statusline+=%#MyStatuslineFiletypeBody#%{SetFiletype(&filetype)}
|
||||
set statusline+=%#MyStatuslineFiletype#
|
||||
|
||||
" Setup the colors
|
||||
hi StatusLine ctermfg=5 ctermbg=NONE cterm=NONE
|
||||
hi StatusLineNC ctermfg=8 ctermbg=NONE cterm=bold
|
||||
|
||||
hi MyStatuslineSeparator ctermfg=0 cterm=NONE ctermbg=NONE
|
||||
|
||||
hi MyStatuslineModified ctermfg=0 cterm=NONE ctermbg=NONE
|
||||
|
||||
hi MyStatuslineFiletype ctermbg=NONE cterm=NONE ctermfg=0
|
||||
hi MyStatuslineFiletypeBody ctermfg=5 cterm=italic ctermbg=0
|
||||
|
||||
hi MyStatuslinePercentage ctermfg=0 cterm=NONE ctermbg=NONE
|
||||
hi MyStatuslinePercentageBody ctermbg=0 cterm=none ctermfg=6
|
||||
|
||||
hi MyStatuslineLineCol ctermfg=0 cterm=NONE ctermbg=NONE
|
||||
hi MyStatuslineLineColBody ctermbg=0 cterm=none ctermfg=2
|
||||
Loading…
Add table
Add a link
Reference in a new issue