From ed51e0402b79844bf5be30890a5095f907a46ef1 Mon Sep 17 00:00:00 2001 From: "Juan J. Martinez" Date: Wed, 1 Jun 2022 21:10:27 +0100 Subject: Moved to Tokyonight --- README.md | 2 +- init.vim | 4 ++ lualine.lua | 25 ++++++++++++ syntax/micro.vim | 1 + tmux.conf | 49 +----------------------- tmux_tokyonight_storm.tmux | 30 +++++++++++++++ vimrc | 88 ++++++++----------------------------------- wezterm.lua | 2 +- wezterm_tokyonight_storm.toml | 14 +++++++ 9 files changed, 93 insertions(+), 122 deletions(-) create mode 100644 lualine.lua create mode 120000 syntax/micro.vim create mode 100644 tmux_tokyonight_storm.tmux create mode 100644 wezterm_tokyonight_storm.toml diff --git a/README.md b/README.md index cf7a3a8..398a9a0 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Managed by [vim-plug](https://github.com/junegunn/vim-plug). A few things require nvim at a specific version: - - nvim 0.5.0 or later: Scala LSP (metals), autocomplete, bufdel, which-key, ... + - nvim 0.5.0 or later: Scala LSP (metals), autocomplete, bufdel, which-key, lualine ... - nvim 0.5.1 or later: telescope - nvim 0.6.1 or later: LSP support diff --git a/init.vim b/init.vim index 71e5cdd..29d3bb7 100644 --- a/init.vim +++ b/init.vim @@ -11,6 +11,10 @@ if has('nvim-0.6.1') source ~/.vim/treesitter.lua end +if has('nvim-0.5') + source ~/.vim/lualine.lua +end + " scala and metals source ~/.vim/metals.vim diff --git a/lualine.lua b/lualine.lua new file mode 100644 index 0000000..194281e --- /dev/null +++ b/lualine.lua @@ -0,0 +1,25 @@ +require('lualine').setup { + options = { + theme = 'tokyonight', + }, + sections = { + lualine_a = {'mode'}, + lualine_b = {'branch', 'diff', 'diagnostics' }, + lualine_c = {'filename', 'g:metals_status'}, + lualine_x = { + "%{&spell ? 'SPELL' : ''}", + 'encoding', { + 'fileformat', + symbols = { + unix = 'LF', + dos = 'CRLF', + mac = 'CR', + }, + }, + 'filetype', + }, + lualine_y = {'progress'}, + lualine_z = {'location'} +}, +} + diff --git a/syntax/micro.vim b/syntax/micro.vim new file mode 120000 index 0000000..e522c6e --- /dev/null +++ b/syntax/micro.vim @@ -0,0 +1 @@ +/home/reidrac/src/go/lang/micro-vim/syntax/micro.vim \ No newline at end of file diff --git a/tmux.conf b/tmux.conf index 68fccd2..f8effb6 100644 --- a/tmux.conf +++ b/tmux.conf @@ -46,52 +46,5 @@ bind c new-window -c "#{pane_current_path}" bind v split-window -h -c "#{pane_current_path}" bind h split-window -v -c "#{pane_current_path}" -## COLORSCHEME: gruvbox dark -set-option -g status "on" - -# default statusbar color -set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1 - -# default window title colors -set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1 - -# default window with an activity alert -set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3 - -# active window title colors -set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1 - -# pane border -set-option -g pane-active-border-style fg=colour250 #fg2 -set-option -g pane-border-style fg=colour237 #bg1 - -# message infos -set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1 - -# writing commands inactive -set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1 - -# pane number display -set-option -g display-panes-active-colour colour250 #fg2 -set-option -g display-panes-colour colour237 #bg1 - -# clock -set-window-option -g clock-mode-colour colour109 #blue - -# bell -set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg - -## Theme settings mixed with colors (unfortunately, but there is no cleaner way) -set-option -g status-justify "left" -set-option -g status-left-style none -set-option -g status-left-length "80" -set-option -g status-right-style none -set-option -g status-right-length "80" -set-window-option -g window-status-separator "" - -set-option -g status-left "#[fg=colour248, bg=colour241] #S #[fg=colour241, bg=colour237, nobold, noitalics, nounderscore]\ue0b0" -set-option -g status-right "#[fg=colour239, bg=colour237, nobold, nounderscore, noitalics]\ue0ba#[fg=colour246,bg=colour239] %Y-%m-%d \ue0bd #[fg=colour220]%H:%M #[fg=colour248, bg=colour239, nobold, noitalics, nounderscore]\ue0ba#[fg=colour237, bg=colour248] #h " - -set-window-option -g window-status-current-format "#[fg=colour237, bg=colour214, nobold, noitalics, nounderscore]\ue0b0#[fg=colour239, bg=colour214] #I:#[fg=colour239, bg=colour214, bold] #W #[fg=colour214, bg=colour237, nobold, noitalics, nounderscore]\ue0b0" -set-window-option -g window-status-format "#[fg=colour237,bg=colour239,noitalics]\ue0b0#[fg=colour223,bg=colour239] #I:#[fg=colour223, bg=colour239] #W #[fg=colour239, bg=colour237, noitalics]\ue0b0" +source-file ~/.vim/tmux_tokyonight_storm.tmux diff --git a/tmux_tokyonight_storm.tmux b/tmux_tokyonight_storm.tmux new file mode 100644 index 0000000..0ea81ae --- /dev/null +++ b/tmux_tokyonight_storm.tmux @@ -0,0 +1,30 @@ +# TokyoNight colors for Tmux + +set -g mode-style "fg=#7aa2f7,bg=#3b4261" + +set -g message-style "fg=#7aa2f7,bg=#3b4261" +set -g message-command-style "fg=#7aa2f7,bg=#3b4261" + +set -g pane-border-style "fg=#3b4261" +set -g pane-active-border-style "fg=#7aa2f7" + +set -g status "on" +set -g status-justify "left" + +set -g status-style "fg=#7aa2f7,bg=#1f2335" + +set -g status-left-length "100" +set -g status-right-length "100" + +set -g status-left-style NONE +set -g status-right-style NONE + +set -g status-left "#[fg=#1D202F,bg=#7aa2f7,bold] #S #[fg=#7aa2f7,bg=#1f2335,nobold,nounderscore,noitalics]" +set -g status-right "#[fg=#1f2335,bg=#1f2335,nobold,nounderscore,noitalics]#[fg=#7aa2f7,bg=#1f2335] #{prefix_highlight} #[fg=#3b4261,bg=#1f2335,nobold,nounderscore,noitalics]#[fg=#7aa2f7,bg=#3b4261] %Y-%m-%d  %I:%M %p #[fg=#7aa2f7,bg=#3b4261,nobold,nounderscore,noitalics]#[fg=#1D202F,bg=#7aa2f7,bold] #h " + +setw -g window-status-activity-style "underscore,fg=#a9b1d6,bg=#1f2335" +setw -g window-status-separator "" +setw -g window-status-style "NONE,fg=#a9b1d6,bg=#1f2335" +setw -g window-status-format "#[fg=#1f2335,bg=#1f2335,nobold,nounderscore,noitalics]#[default] #I  #W #F #[fg=#1f2335,bg=#1f2335,nobold,nounderscore,noitalics]" +setw -g window-status-current-format "#[fg=#1f2335,bg=#3b4261,nobold,nounderscore,noitalics]#[fg=#7aa2f7,bg=#3b4261,bold] #I  #W #F #[fg=#3b4261,bg=#1f2335,nobold,nounderscore,noitalics]" + diff --git a/vimrc b/vimrc index 5eb28e3..bf89a07 100644 --- a/vimrc +++ b/vimrc @@ -47,11 +47,10 @@ Plug 'roxma/vim-tmux-clipboard' Plug 'wincent/terminus' " life improvements -Plug 'gruvbox-community/gruvbox' +Plug 'folke/tokyonight.nvim', { 'branch': 'main' } Plug 'scrooloose/nerdtree' Plug 'Chiel92/vim-autoformat' Plug 'jsfaint/gen_tags.vim' -Plug 'rbong/vim-crystalline' Plug 'godlygeek/tabular' Plug 'vimwiki/vimwiki' @@ -59,10 +58,10 @@ Plug 'vimwiki/vimwiki' Plug 'plasticboy/vim-markdown' Plug 'samsaga2/vim-z80' Plug 'tomtom/tcomment_vim' -Plug 'https://tildegit.org/sloum/gemini-vim-syntax.git' -Plug 'neovimhaskell/haskell-vim' if has('nvim-0.5') + " status line + Plug 'nvim-lualine/lualine.nvim' " general lua Plug 'nvim-lua/popup.nvim' Plug 'nvim-lua/plenary.nvim' @@ -79,6 +78,9 @@ if has('nvim-0.5') " life improvements Plug 'ojroques/nvim-bufdel' + + " learning + Plug 'folke/which-key.nvim' end if has('nvim-0.6.1') @@ -90,72 +92,24 @@ end call plug#end() if has('nvim-0.5') - -" BufKil :lua << EOF - require('bufdel').setup { - next = 'cycle', - quit = false, - } + -- BufKil + require('bufdel').setup { + next = 'cycle', + quit = false, + } + -- which-key + require("which-key").setup { } EOF end -" crystaline conf -" - -" metals status -function! MetalsStatus() abort - return get(g:, 'metals_status', '') -endfunction - -" git-gutter status -" -function! GitStatus() - let [a,m,r] = GitGutterGetHunkSummary() - return printf('+%d ~%d -%d', a, m, r) -endfunction - - -function! StatusLine(current, width) - let l:s = '' - - if a:current - let l:s .= crystalline#mode() . crystalline#right_mode_sep('') - else - let l:s .= '%#CrystallineInactive#' - endif - let l:s .= ' %<%f%h%w%m%r ' - - if a:current - let l:s .= crystalline#right_sep('', 'Fill') . ' %{fugitive#statusline()}' .' %{GitStatus()}' - endif - - let l:s .= '%=' - if a:current - let l:s .= ' %{MetalsStatus()} ' - let l:s .= crystalline#left_sep('', 'Fill') . ' %{&paste ?"PASTE ":""}%{&spell?"SPELL ":""}' - let l:s .= crystalline#left_mode_sep('') - endif - if a:width > 80 - let l:s .= ' %{&ft} [%{&fenc!=#""?&fenc:&enc}][%{&ff}] %3(%c%V%) %l/%L %P ' - else - let l:s .= ' ' - endif - - return l:s -endfunction - -let g:crystalline_enable_sep = 1 -let g:crystalline_statusline_fn = 'StatusLine' -let g:crystalline_theme = 'gruvbox' - set laststatus=2 " vim-autoformat (C-F5) " noremap :Autoformat -au BufWrite *.py,*.c,*.h,*.cpp,*.hs :Autoformat +au BufWrite *.py,*.c,*.h,*.cpp :Autoformat " enable omnicompletion set omnifunc=syntaxcomplete#Complete @@ -164,11 +118,9 @@ set omnifunc=syntaxcomplete#Complete set termguicolors set background=dark -let g:gruvbox_italic = 1 -let g:gruvbox_contrast_dark = "soft" -let g:gruvbox_guisp_fallback = "fg" +let g:tokyonight_italic_keywords = 0 -colorscheme gruvbox +colorscheme tokyonight " toggle spell check map s :set spell! spelllang=en_gb @@ -213,10 +165,6 @@ let g:vim_markdown_frontmatter = 1 let g:vim_markdown_conceal_code_blocks = 0 autocmd FileType markdown setlocal conceallevel=2 -" haskell syntax -" -let g:haskell_classic_highlighting = 1 - " git gutter to play nice with others " let g:gitgutter_sign_allow_clobber = 0 @@ -233,10 +181,6 @@ set shortmess-=F " disable preview when doing auto-complete set completeopt-=preview -" dependent on gruvbox theme -highlight link lscDiagnosticError GruvboxRedSign -highlight link lscDiagnosticWarning GruvboxYellowSign - " Set completeopt to have a better completion experience set completeopt=menuone,noinsert,noselect diff --git a/wezterm.lua b/wezterm.lua index 9db2ab2..c32c0d4 100644 --- a/wezterm.lua +++ b/wezterm.lua @@ -14,7 +14,7 @@ local wezterm = require 'wezterm'; return { font = wezterm.font("JetBrains Mono Medium"), font_size = 10.0, - color_scheme = "Gruvbox Dark", + color_scheme = "wezterm_tokyonight_storm", hide_tab_bar_if_only_one_tab = true, window_padding = { left = "1cell", diff --git a/wezterm_tokyonight_storm.toml b/wezterm_tokyonight_storm.toml new file mode 100644 index 0000000..167229d --- /dev/null +++ b/wezterm_tokyonight_storm.toml @@ -0,0 +1,14 @@ +# mkdir -p $HOME/.config/wezterm/colors +# ln -s $HOME/.vim/wezterm_tokyonight_storm.toml $HOME/.config/wezterm/colors +[colors] +foreground = "#c0caf5" +background = "#24283b" +cursor_bg = "#c0caf5" +cursor_border = "#c0caf5" +cursor_fg = "#24283b" +selection_bg = "#364A82" +selection_fg = "#c0caf5" + +ansi = ["#1D202F", "#f7768e", "#9ece6a", "#e0af68", "#7aa2f7", "#bb9af7", "#7dcfff", "#a9b1d6"] +brights = ["#414868", "#f7768e", "#9ece6a", "#e0af68", "#7aa2f7", "#bb9af7", "#7dcfff", "#c0caf5"] + -- cgit v1.2.3