Compare commits

..

No commits in common. "cddb5fa725c19559a0067e45a7c34e4f82e86d41" and "4fd9a09948a1a9a30d9c344e8360eaaa0fde4d28" have entirely different histories.

4 changed files with 14 additions and 105 deletions

View file

@ -178,8 +178,13 @@ set shortmess+=cI
if g:is_tty if g:is_tty
set signcolumn=auto set signcolumn=auto
set synmaxcol=120 set synmaxcol=120
else
if has("patch-8.1.1564")
set signcolumn=number
else
set signcolumn=yes
endif
endif endif
" non-TTY signcolumn is set in ui.vim (=yes, fixed-width to prevent jitter)
" ── Project-Local Config ──────────────────────────────────────────────────── " ── Project-Local Config ────────────────────────────────────────────────────

View file

@ -44,26 +44,3 @@ augroup ChopstickSearchHL
autocmd! autocmd!
autocmd CursorHold * if get(v:, 'hlsearch', 0) | let v:hlsearch = 0 | endif autocmd CursorHold * if get(v:, 'hlsearch', 0) | let v:hlsearch = 0 | endif
augroup END augroup END
" ── Overlength Highlight (only chars past textwidth, not the whole column) ─
function! s:OverLengthApply() abort
if exists('w:overlength_match')
silent! call matchdelete(w:overlength_match)
unlet w:overlength_match
endif
if &textwidth <= 0 || &buftype !=# '' | return | endif
let w:overlength_match = matchadd('OverLength', '\%>' . &textwidth . 'v.\+', -1)
endfunction
function! s:OverLengthDefineHL() abort
hi default OverLength ctermbg=52 ctermfg=NONE guibg=#3a1f1f guifg=NONE
endfunction
augroup ChopstickOverLength
autocmd!
autocmd ColorScheme * call s:OverLengthDefineHL()
autocmd OptionSet textwidth call s:OverLengthApply()
autocmd BufWinEnter,WinEnter,FileType * call s:OverLengthApply()
augroup END
call s:OverLengthDefineHL()

View file

@ -47,23 +47,23 @@ augroup ChopstickFiletype
\ if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif \ if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
autocmd FileType python autocmd FileType python
\ setlocal expandtab shiftwidth=4 tabstop=4 textwidth=88 \ setlocal expandtab shiftwidth=4 tabstop=4 textwidth=88 colorcolumn=+1
autocmd FileType javascript,typescript autocmd FileType javascript,typescript
\ setlocal expandtab shiftwidth=2 tabstop=2 textwidth=100 \ setlocal expandtab shiftwidth=2 tabstop=2 textwidth=100 colorcolumn=+1
autocmd FileType go autocmd FileType go
\ setlocal noexpandtab shiftwidth=4 tabstop=4 textwidth=120 \ setlocal noexpandtab shiftwidth=4 tabstop=4 textwidth=120 colorcolumn=+1
autocmd FileType rust autocmd FileType rust
\ setlocal expandtab shiftwidth=4 tabstop=4 textwidth=100 \ setlocal expandtab shiftwidth=4 tabstop=4 textwidth=100 colorcolumn=+1
autocmd FileType c,cpp autocmd FileType c,cpp
\ setlocal expandtab shiftwidth=4 tabstop=4 textwidth=80 \ setlocal expandtab shiftwidth=4 tabstop=4 textwidth=80 colorcolumn=+1
autocmd FileType html,css autocmd FileType html,css
\ setlocal expandtab shiftwidth=2 tabstop=2 \ setlocal expandtab shiftwidth=2 tabstop=2
autocmd FileType yaml autocmd FileType yaml
\ setlocal expandtab shiftwidth=2 tabstop=2 \ setlocal expandtab shiftwidth=2 tabstop=2
autocmd FileType markdown autocmd FileType markdown
\ setlocal wrap linebreak spell textwidth=0 conceallevel=2 \ setlocal wrap linebreak spell textwidth=0 colorcolumn=0 conceallevel=2
autocmd FileType sh autocmd FileType sh
\ setlocal expandtab shiftwidth=2 tabstop=2 textwidth=80 \ setlocal expandtab shiftwidth=2 tabstop=2 textwidth=80 colorcolumn=+1
autocmd FileType make autocmd FileType make
\ setlocal noexpandtab shiftwidth=8 tabstop=8 \ setlocal noexpandtab shiftwidth=8 tabstop=8
autocmd FileType json autocmd FileType json

View file

@ -10,49 +10,16 @@ endif
set background=dark set background=dark
function! s:WarnSolarized8Missing(...) abort
echohl WarningMsg
echom 'chopsticks: solarized8 not installed — run :PlugInstall'
echohl None
endfunction
if !g:is_tty if !g:is_tty
try try
colorscheme solarized8 colorscheme solarized8
catch /^Vim\%((\a\+)\)\=:E185/ catch
colorscheme default colorscheme default
if has('timers')
call timer_start(500, function('s:WarnSolarized8Missing'))
else
augroup ChopstickColorschemeWarn
autocmd!
autocmd VimEnter * call s:WarnSolarized8Missing()
augroup END
endif
endtry endtry
else else
colorscheme default colorscheme default
endif endif
" ── Window separators, fillchars, cursorline visibility ────────────────────
if !g:is_tty
set fillchars+=vert:│,eob:\
endif
function! s:UIPolish() abort
hi VertSplit ctermbg=234 ctermfg=240 guibg=#002b36 guifg=#586e75 cterm=NONE gui=NONE
hi CursorLine ctermbg=235 guibg=#0c4452 cterm=NONE gui=NONE
hi CursorLineNr ctermbg=235 ctermfg=136 guibg=#0c4452 guifg=#b58900 cterm=bold gui=bold
hi SignColumn ctermbg=234 guibg=#002b36
endfunction
augroup ChopstickUIPolish
autocmd!
autocmd ColorScheme * call s:UIPolish()
augroup END
if !g:is_tty | call s:UIPolish() | endif
if has("gui_running") if has("gui_running")
if has("gui_gtk2") || has("gui_gtk3") if has("gui_gtk2") || has("gui_gtk3")
set guifont=Hack\ 12,Source\ Code\ Pro\ 12,Monospace\ 12 set guifont=Hack\ 12,Source\ Code\ Pro\ 12,Monospace\ 12
@ -184,43 +151,3 @@ set statusline=%!SLBuild()
if g:is_tty if g:is_tty
set statusline=%f\ %h%w%m%r\ %=%(%l,%c%V\ %=\ %P%) set statusline=%f\ %h%w%m%r\ %=%(%l,%c%V\ %=\ %P%)
endif endif
" ── Tabline (native — shows listed buffers when >1, else hidden) ───────────
function! s:TLDefineColors() abort
hi TabLine ctermbg=234 ctermfg=244 cterm=none guibg=#002b36 guifg=#839496 gui=none
hi TabLineSel ctermbg=235 ctermfg=136 cterm=bold guibg=#073642 guifg=#b58900 gui=bold
hi TabLineFill ctermbg=234 ctermfg=240 cterm=none guibg=#002b36 guifg=#586e75 gui=none
endfunction
augroup TLColors
autocmd!
autocmd ColorScheme * call s:TLDefineColors()
augroup END
call s:TLDefineColors()
function! TLBuild() abort
let l:s = ''
let l:cur = bufnr('%')
for l:b in range(1, bufnr('$'))
if !buflisted(l:b) || getbufvar(l:b, '&buftype') !=# '' | continue | endif
let l:hl = (l:b == l:cur) ? '%#TabLineSel#' : '%#TabLine#'
let l:name = bufname(l:b)
let l:name = empty(l:name) ? '[No Name]' : fnamemodify(l:name, ':t')
let l:mod = getbufvar(l:b, '&modified') ? ' +' : ''
let l:s .= l:hl . ' ' . l:b . ' ' . l:name . l:mod . ' '
endfor
let l:s .= '%#TabLineFill#%='
return l:s
endfunction
if !g:is_tty
set showtabline=1
set tabline=%!TLBuild()
endif
" ── SignColumn: always reserve a column so width never jitters ─────────────
if !g:is_tty
set signcolumn=yes
endif