tinted-theming / base16-vim Goto Github PK
View Code? Open in Web Editor NEWbase16-vim refreshes and commits new themes weekly automatically and has a documented build process.
Home Page: https://github.com/base16-project/base16
License: Other
base16-vim refreshes and commits new themes weekly automatically and has a documented build process.
Home Page: https://github.com/base16-project/base16
License: Other
While testing this pull request #61, I saw that only the template was changed.
We should add a Makefile again, for running the base16-builder-go against the repo.
Describe the bug
Hi,
I'm using the base16-default-dark theme.
It seems #40 changed the floating window selected text to match the background, leaving the highlighted entry unreadable.
Expected behavior
Reverting back to 27be0b8 fixes the issue.
Screenshots
See above.
System
Vim or Neovim: Neovim
Vim or Neovim version: 0.6.0
Any other plugins you may consider relevant: hrsh7th/nvim-cmp
Minimal configuration file
require('packer').startup(function()
use "fnune/base16-vim"
end)
vim.g.base16colorspace = 256
vim.cmd("colorscheme base16-default-dark")
Describe the bug
It's hard to read things in autocomplete menus
Expected behavior
A dark background (like the one in #38 ? )
System
Neovim version: v0.5.1
Any other plugins you may consider relevant: https://github.com/hrsh7th/nvim-cmp
Minimal configuration file
local o = vim.o
g.colors_name = 'base16-solarized-dark'
o.termguicolors = true
Additional context
I have enabled termguicolors
otherwise it was really ugly. I'm using Alacritty configured as followed:
# Colors (Solarized Dark)
colors:
# Default colors
primary:
background: '0x002b36'
foreground: '0x839496'
# Normal colors
normal:
black: '0x073642'
red: '0xdc322f'
green: '0x859900'
yellow: '0xb58900'
blue: '0x268bd2'
magenta: '0xd33682'
cyan: '0x2aa198'
white: '0xeee8d5'
# Bright colors
bright:
black: '0x002b36'
red: '0xcb4b16'
green: '0x586e75'
yellow: '0x657b83'
blue: '0x839496'
magenta: '0x6c71c4'
cyan: '0x93a1a1'
white: '0xfdf6e3'
Like this.
Links in help docs should be a different color than the typical text, but using base16-shell and base16-vim, that is not the case.
Links have a different color than typical text in a help document.
In the screenshot above, the text g0
is a link, and should not appear as regular text.
Neovim
Vim or Neovim version:
v0.9.4
Any other plugins you may consider relevant:
Bashrc contents
BASE16_SHELL_PATH="$HOME/.config/base16-shell/"
[ -n "$PS1" ] && \
[ -s "$BASE16_SHELL_PATH/profile_helper.sh" ] && \
source "$BASE16_SHELL_PATH/profile_helper.sh"
base16_classic-dark
Neovim's init.lua file
local set_theme_path = "$HOME/.config/tinted-theming/set_theme.lua"
local is_set_theme_file_readable = vim.fn.filereadable(vim.fn.expand(set_theme_path)) == 1 and true or false
if is_set_theme_file_readable then
vim.cmd("let base16colorspace=256")
vim.cmd("source" .. set_theme_path)
end
I tooled around a bit with regular vim as well and had the same issue.
base16-vim
currently doesn't highlight the barbar.nvim bar. It could!
Describe the solution you'd like
Here are the groups that need to be defined. The color variables don't exist on base16-vim
and need to be mapped to our values:
" barbar.vim highlighting
call <sid>hi("BufferCurrent", fg_current, bg_current, "", "")
call <sid>hi("BufferCurrentIndex", fg_special, bg_current, "", "")
call <sid>hi("BufferCurrentMod", fg_modified, bg_current, "", "")
call <sid>hi("BufferCurrentSign", fg_special, bg_current, "", "")
call <sid>hi("BufferCurrentTarget", fg_target, bg_current, "bold", "")
call <sid>hi("BufferVisible", fg_visible, bg_visible, "", "")
call <sid>hi("BufferVisibleIndex", fg_visible, bg_visible, "", "")
call <sid>hi("BufferVisibleMod", fg_modified, bg_visible, "", "")
call <sid>hi("BufferVisibleSign", fg_visible, bg_visible, "", "")
call <sid>hi("BufferVisibleTarget", fg_target, bg_visible, "bold", "")
call <sid>hi("BufferInactive", fg_inactive, bg_inactive, "", "")
call <sid>hi("BufferInactiveIndex", fg_subtle, bg_inactive, "", "")
call <sid>hi("BufferInactiveMod", fg_modified, bg_inactive, "", "")
call <sid>hi("BufferInactiveSign", fg_subtle, bg_inactive, "", "")
call <sid>hi("BufferInactiveTarget", fg_target, bg_inactive, "bold", "")
call <sid>hi("BufferTabpages", fg_special, bg_inactive, "bold", "")
call <sid>hi("BufferTabpageFill", fg_inactive, bg_inactive, "", "")
Here's an example from doom-one.vim
: https://github.com/romgrk/doom-one.vim/blame/29c3a2a3d5cb3ec001ee5aaa95de3033fbfd7a58/colors/doom-one.vim#L189
Describe alternatives you've considered
Use doom-one.vim
.
Is your feature request related to a problem? Please describe.
Currently it seems that those are the only supported LSP highlights:
if has("nvim")
call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "")
call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "")
call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "")
call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "")
endif
Describe the solution you'd like
Support more LSP highlights, for example, this is from the https://github.com/gruvbox-community/gruvbox
hi! link LspDiagnosticsDefaultError GruvboxRed
hi! link LspDiagnosticsSignError GruvboxRedSign
hi! link LspDiagnosticsUnderlineError GruvboxRedUnderline
hi! link LspDiagnosticsDefaultWarning GruvboxYellow
hi! link LspDiagnosticsSignWarning GruvboxYellowSign
hi! link LspDiagnosticsUnderlineWarning GruvboxYellowUnderline
hi! link LspDiagnosticsDefaultInformation GruvboxBlue
hi! link LspDiagnosticsSignInformation GruvboxBlueSign
hi! link LspDiagnosticsUnderlineInformation GruvboxBlueUnderline
hi! link LspDiagnosticsDefaultHint GruvboxAqua
hi! link LspDiagnosticsSignHint GruvboxAquaSign
hi! link LspDiagnosticsUnderlineHint GruvboxAquaUnderline
Additional context
This can be quite useful, for example it allows getting the underline when there is an error like so (on "this"):
Instead of currently:
When I open a markdown file, I see syntactic coloration only inside fenced code blocks.
Title, links, etc. should have some color.
Vim or Neovim: Neovim
Vim or Neovim version: v0.9.5
Any other plugins you may consider relevant:
colorscheme base16-solarized-dark
I opened nvim-treesitter/nvim-treesitter#6104 yesterday, and was told "Make sure your colorscheme has adjusted to the breaking change in capture naming." I think they were referring to nvim-treesitter/nvim-treesitter#2293 (comment)
This commit message indeed explains a lot: nvim-treesitter/nvim-treesitter@1ae9b0e
Describe the bug
When using zenburn with treesitter highlighting, there are missing/incorrect colors for operators, parenthesis, and some others.
Expected behavior
Operators and delimiters are highlighted thematically.
System
Vim or Neovim: Neovim
Vim or Neovim version:
NVIM v0.6.0-dev
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by nixbld
Features: +acl +iconv +tui
See ":help feature-compile"
system vimrc file: "$VIM/sysinit.vim"
fall-back for $VIM: "
/nix/store/56jl11wa1sqxl582dsqjld9v4i8qbi6r-neovim-unwrapped-master/share/nvim
"
Run :checkhealth for more info
Minimal configuration file
lua << EOF
-- packer bootstrap
local fn = vim.fn
local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
local packer_bootstrap = nil
if fn.empty(fn.glob(install_path)) > 0 then
packer_bootstrap = fn.system({
"git",
"clone",
"--depth",
"1",
"https://github.com/wbthomason/packer.nvim",
install_path,
})
end
require("packer").startup(function(use)
use({
"nvim-treesitter/nvim-treesitter",
config = function()
require("nvim-treesitter.configs").setup({
ensure_installed = {
-- some langs here
javascript,
},
highlight = {
enable = true,
},
})
end
})
use({
"fnune-base16-vim",
config = function()
vim.cmd("colo base16-zenburn")
end,
})
end)
EOF
This is a follow up of #39
https://github.com/doctrine/common/blob/3.2.x/psalm.xml can be use as a sample file to reproduce the issue.
Cc @BonaBeavis in case you have a fix for this one as well :)
Hey @fnune, awesome work thanks a lot.
I use base16 across different mediums and I like it a lot. I wonder if there's a way to access the theme variables as of now.
Currently I use https://github.com/norcalli/nvim-base16.lua and with it I was able to set highlights by querying the value of; for example base05
.
Is this possible in current fork, and if not is there a quick way to achieve that?. I basically need global variables set whenever color/base16-------.vim is loaded so that I can do something like
echo g:base16.base01
.
Thanks
Bug reports should request a minimal vimrc.
Neovim 0.10 changed its color groups and now the themes don't fully work anymore.
See https://neovim.io/doc/user/news-0.10.html
These Nvim specific highlight groups are now defined in a meaningfully different way and might need an update:
hl-FloatBorder is linked to hl-NormalFloat instead of hl-WinSeparator.
- hl-NormalFloat is not linked to hl-Pmenu.
- hl-WinBar has different background.
- hl-WinBarNC is similar to hl-WinBar but not bold.
- hl-WinSeparator is linked to hl-Normal instead of hl-VertSplit.
The template needs to be adjusted accordingly.
Vim or Neovim: Neovim
Vim or Neovim version: 0.10
Any other plugins you may consider relevant:
Hi @BonaBeavis, I'm contacting you because there is a group of us working on reviving the base16 project and I'm wondering if you'd be willing to join.
The discussion about a base16 Github organization initially started in 2016: https://github.com/chriskempson/base16/issues/74. With the disappearance of Chris Kempson the importance of the base16 organization is more important than ever to keep the project structured and thriving.
Seeing as you've been activate with base16 repo forks such as this one, are you interested in joining github.com/base16-project and helping us maintain some of the projects? The work you've all done on this project (and the other base16 forks you've worked on) is great and we can bring it across to the other respective repos, base16-project/base16-vim for example.
I managed to get hold of @fnune's email and sent them a message about this. They said that they weren't interested in being involved in base16 project work due to other commitments, but suggested contacting you about this.
Right now, communication around this is happening at tinted-theming/home#1 (Some of us are also on #base16 on Libera Chat [IRC] for more general discussions and hangouts)
Are you interested in maintaining any base16-project repositories and being part of the organization?
With yesterday's update at the very least base16-material.vim
seems to be broken - launching vim yields the following error:
line 411:
W18: Invalid character in group name
line 412:
W18: Invalid character in group name
line 413:
W18: Invalid character in group name
line 414:
W18: Invalid character in group name
line 415:
W18: Invalid character in group name
line 416:
W18: Invalid character in group name
line 420:
W18: Invalid character in group name
line 421:
W18: Invalid character in group name
line 431:
W18: Invalid character in group name
line 434:
W18: Invalid character in group name
line 435:
W18: Invalid character in group name
vim loads without any errors by themes added via base16-vim
.
Vim or Neovim:
Vim
Vim or Neovim version:
9.0.1000
Any other plugins you may consider relevant:
N/A
No configuration file needed, loading the plugin itself is sufficient to trigger the bug (the theme does not even need to be selected as the error occurs in vim90/syntax/synload.vim[19]
.
N/A
Is your feature request related to a problem? Please describe.
A conditional statement and loop statement are currently highlighted differently in the base16 vim themes. This seems against the base16 philosophy. I quote from the spec (https://github.com/chriskempson/base16/blob/master/styling.md):
Base16 aims to group similar language constructs with a single color.
The cause of this are the following lines in the template file:
call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "")
" ...
call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "")
The two groups seem to have been intentionally assigned different colors, yet they are very related. Is there a reasoning behind this? The VS Code base16 themes to no have this difference.
Describe the solution you'd like
Assign the same color to the Repeat and Conditional statement keywords.
Describe alternatives you've considered
N.A.
Additional context
Here is an example of a .cpp snippet highlighted with base16-ashes
in vim:
Here is the same base16 theme in Visual Studio Code:
The while
and if
keywords have the same color in VS code, as I would expect from the philosophy.
Is your feature request related to a problem? Please describe.
base16-vim
does not currently have the highlight groups defined for the new semantic token highlighting capability of coc.nvim.
Describe the solution you'd like
The highlight groups prefixed by CocSem_
would need to be defined and mapped to an appropriate highlight group (vim provides some built in ones that could work, like String
, Function
, Include
, Boolean
, Keyword
, Define
, Macro
, Typedef
, etc.).
See this example from the edge colorscheme: https://github.com/sainnhe/edge/blob/master/colors/edge.vim#L383
Describe alternatives you've considered
CocSem_
highlight groups and link them to an existing groupI get this error in :Lualinenotices
: theme(base16): nvim-base16 is not currently present in your runtimepath, make sure it is properly installed, fallback to default colors.
No error and the theme should show up
Lualine doesn't get the theme, and gives me the error
Vim or Neovim: Neovim
Vim or Neovim version: 0.9.4
The Base16 script:
return {
{
"tinted-theming/base16-vim",
priority = 1000,
config = function()
local cmd = vim.cmd
local g = vim.g
local current_theme_name = os.getenv("BASE16_THEME")
-- if current_theme_name == 'black-metal-bathory' then
-- cmd('colorscheme vesper')
--[[ else ]]
if current_theme_name and g.colors_name ~= "base16-" .. current_theme_name then
cmd("let base16colorspace=256")
cmd("colorscheme base16-" .. current_theme_name)
end
end,
},
}
Relevant lualine config:
opts.options = {
theme = "auto",
icons_enabled = true,
component_separators = { left = "", right = "" },
section_separators = { left = "", right = "" },
disabled_filetypes = {
statusline = {
"help",
"startify",
"dashboard",
"neo-tree",
"packer",
"neogitstatus",
"NvimTree",
"Trouble",
"alpha",
"lir",
"Outline",
"spectre_panel",
"toggleterm",
"qf",
},
winbar = {},
},
}
I am using Lazyvim, but I had this issue for a while.
Using a base16 colorscheme from this repo does not support transparent backgrounds. I use a transparent background on my terminal, and would very much like to use one in vim too.
I find the way sainnhe's gruvbox material does this very elegant:
let g:gruvbox_material_transparent_background = 1 " 1 = transparent; 0 = opaque
Probably pointless info:
I use st with the alpha patch and xcompmgr for transparency.
Change underline to bold to remove per: https://stackoverflow.com/a/58181112
The issue described in #23 still exists since the PR seems to have been reverted. The foreground colour of error highlights makes the text nearly indistinguishable from the cursor line highlight bg colour.
We need to describe how to build and commit a bit more explicitly.
I suggest adding the Shapeshifter Dark theme. Found both it and the light version on terminal.sexy, but was sad to see the original base16-vim project for some reason only had the light variant. If anyone else wants it, I think adding the dark version here would be great, as I think it looks great!
This commit removed obsolete TS* highlight groups:
nvim-treesitter/nvim-treesitter@42ab95d
This has to be done: nvim-treesitter/nvim-treesitter#2293 (comment)
I will do it the next days.
See #34
@belak the base16-vim repo we had previously used a main
primary branch, can you change this repo to use main
over master
?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.