Comments (5)
@lucca65 just a heads up, I transferred this issue to the appropriate repository
from docs.
Can you share your user configuration and I can help you debug where you might be missing something?
from docs.
@mehalter sure thing here it is:
return {
-- add new user interface icon
icons = {
VimIcon = "",
ScrollText = "",
GitBranch = "",
GitAdd = "",
GitChange = "",
GitDelete = "",
},
-- modify variables used by heirline but not defined in the setup call directly
heirline = {
-- define the separators between each section
separators = {
left = { "", " " }, -- separator for the left side of the statusline
right = { " ", "" }, -- separator for the right side of the statusline
tab = { "", "" },
},
-- add new colors that can be used by heirline
colors = function(hl)
local get_hlgroup = require("astronvim.utils").get_hlgroup
-- use helper function to get highlight group properties
local comment_fg = get_hlgroup("Comment").fg
hl.git_branch_fg = comment_fg
hl.git_added = comment_fg
hl.git_changed = comment_fg
hl.git_removed = comment_fg
hl.blank_bg = get_hlgroup("Folded").fg
hl.file_info_bg = get_hlgroup("Visual").bg
hl.nav_icon_bg = get_hlgroup("String").fg
hl.nav_fg = hl.nav_icon_bg
hl.folder_icon_bg = get_hlgroup("Error").fg
return hl
end,
attributes = {
mode = { bold = true },
},
icon_highlights = {
file_icon = {
statusline = false,
},
},
},
plugins = {
{
"rebelot/heirline.nvim",
opts = function(_, opts)
local status = require("astronvim.utils.status")
opts.statusline = {
-- default highlight for the entire statusline
hl = { fg = "fg", bg = "bg" },
-- each element following is a component in astronvim.utils.status module
-- add the vim mode component
status.component.mode {
-- enable mode text with padding as well as an icon before it
mode_text = { icon = { kind = "VimIcon", padding = { right = 1, left = 1 } } },
-- surround the component with a separators
surround = {
-- it's a left element, so use the left separator
separator = "left",
-- set the color of the surrounding based on the current mode using astronvim.utils.status module
color = function() return { main = status.hl.mode_bg(), right = "blank_bg" } end,
},
},
-- we want an empty space here so we can use the component builder to make a new section with just an empty string
status.component.builder {
{ provider = "" },
-- define the surrounding separator and colors to be used inside of the component
-- and the color to the right of the separated out section
surround = { separator = "left", color = { main = "blank_bg", right = "file_info_bg" } },
},
-- add a section for the currently opened file information
status.component.file_info {
-- enable the file_icon and disable the highlighting based on filetype
file_icon = { padding = { left = 0 } },
filename = { fallback = "Empty" },
-- add padding
padding = { right = 1 },
-- define the section separator
surround = { separator = "left", condition = false },
},
-- add a component for the current git branch if it exists and use no separator for the sections
status.component.git_branch { surround = { separator = "none" } },
-- add a component for the current git diff if it exists and use no separator for the sections
status.component.git_diff { padding = { left = 1 }, surround = { separator = "none" } },
-- fill the rest of the statusline
-- the elements after this will appear in the middle of the statusline
status.component.fill(),
-- add a component to display if the LSP is loading, disable showing running client names, and use no separator
status.component.lsp { lsp_client_names = false, surround = { separator = "none", color = "bg" } },
-- fill the rest of the statusline
-- the elements after this will appear on the right of the statusline
status.component.fill(),
-- add a component for the current diagnostics if it exists and use the right separator for the section
status.component.diagnostics { surround = { separator = "right" } },
-- add a component to display LSP clients, disable showing LSP progress, and use the right separator
status.component.lsp { lsp_progress = false, surround = { separator = "right" } },
-- NvChad has some nice icons to go along with information, so we can create a parent component to do this
-- all of the children of this table will be treated together as a single component
{
-- define a simple component where the provider is just a folder icon
status.component.builder {
-- astronvim.get_icon gets the user interface icon for a closed folder with a space after it
{ provider = require("astronvim.utils").get_icon "FolderClosed" },
-- add padding after icon
padding = { right = 1 },
-- set the foreground color to be used for the icon
hl = { fg = "bg" },
-- use the right separator and define the background color
surround = { separator = "right", color = "folder_icon_bg" },
},
-- add a file information component and only show the current working directory name
status.component.file_info {
-- we only want filename to be used and we can change the fname
-- function to get the current working directory name
filename = { fname = function(nr) return vim.fn.getcwd(nr) end, padding = { left = 1 } },
-- disable all other elements of the file_info component
file_icon = false,
file_modified = false,
file_read_only = false,
-- use no separator for this part but define a background color
surround = { separator = "none", color = "file_info_bg", condition = false },
},
},
-- the final component of the NvChad statusline is the navigation section
-- this is very similar to the previous current working directory section with the icon
{ -- make nav section with icon border
-- define a custom component with just a file icon
status.component.builder {
{ provider = require("astronvim.utils").get_icon "ScrollText" },
-- add padding after icon
padding = { right = 1 },
-- set the icon foreground
hl = { fg = "bg" },
-- use the right separator and define the background color
-- as well as the color to the left of the separator
surround = { separator = "right", color = { main = "nav_icon_bg", left = "file_info_bg" } },
},
-- add a navigation component and just display the percentage of progress in the file
status.component.nav {
-- add some padding for the percentage provider
percentage = { padding = { right = 1 } },
-- disable all other providers
ruler = false,
scrollbar = false,
-- use no separator and define the background color
surround = { separator = "none", color = "file_info_bg" },
},
},
}
-- return the final options table
return opts
end,
},
},
}
from docs.
it is just a copy paste from the docs tho. I moved all my other configs to their own files (mappings.lua, polish.lua, etc)
from docs.
It looks like you probably have some plugins defined in the plugins/
folder. The separated configuration will take precedence over your single file configuration. So it probably isn't loading the plugins
table in your user/init.lua
file. You probably just want to move the heirline override part to the plugins/
folder into something like plugins/heirline.lua
:
return {
"rebelot/heirline.nvim",
opts = function(_, opts)
local status = require "astronvim.utils.status"
opts.statusline = {
-- default highlight for the entire statusline
hl = { fg = "fg", bg = "bg" },
-- each element following is a component in astronvim.utils.status module
-- add the vim mode component
status.component.mode {
-- enable mode text with padding as well as an icon before it
mode_text = { icon = { kind = "VimIcon", padding = { right = 1, left = 1 } } },
-- surround the component with a separators
surround = {
-- it's a left element, so use the left separator
separator = "left",
-- set the color of the surrounding based on the current mode using astronvim.utils.status module
color = function() return { main = status.hl.mode_bg(), right = "blank_bg" } end,
},
},
-- we want an empty space here so we can use the component builder to make a new section with just an empty string
status.component.builder {
{ provider = "" },
-- define the surrounding separator and colors to be used inside of the component
-- and the color to the right of the separated out section
surround = { separator = "left", color = { main = "blank_bg", right = "file_info_bg" } },
},
-- add a section for the currently opened file information
status.component.file_info {
-- enable the file_icon and disable the highlighting based on filetype
file_icon = { padding = { left = 0 } },
filename = { fallback = "Empty" },
-- add padding
padding = { right = 1 },
-- define the section separator
surround = { separator = "left", condition = false },
},
-- add a component for the current git branch if it exists and use no separator for the sections
status.component.git_branch { surround = { separator = "none" } },
-- add a component for the current git diff if it exists and use no separator for the sections
status.component.git_diff { padding = { left = 1 }, surround = { separator = "none" } },
-- fill the rest of the statusline
-- the elements after this will appear in the middle of the statusline
status.component.fill(),
-- add a component to display if the LSP is loading, disable showing running client names, and use no separator
status.component.lsp { lsp_client_names = false, surround = { separator = "none", color = "bg" } },
-- fill the rest of the statusline
-- the elements after this will appear on the right of the statusline
status.component.fill(),
-- add a component for the current diagnostics if it exists and use the right separator for the section
status.component.diagnostics { surround = { separator = "right" } },
-- add a component to display LSP clients, disable showing LSP progress, and use the right separator
status.component.lsp { lsp_progress = false, surround = { separator = "right" } },
-- NvChad has some nice icons to go along with information, so we can create a parent component to do this
-- all of the children of this table will be treated together as a single component
{
-- define a simple component where the provider is just a folder icon
status.component.builder {
-- astronvim.get_icon gets the user interface icon for a closed folder with a space after it
{ provider = require("astronvim.utils").get_icon "FolderClosed" },
-- add padding after icon
padding = { right = 1 },
-- set the foreground color to be used for the icon
hl = { fg = "bg" },
-- use the right separator and define the background color
surround = { separator = "right", color = "folder_icon_bg" },
},
-- add a file information component and only show the current working directory name
status.component.file_info {
-- we only want filename to be used and we can change the fname
-- function to get the current working directory name
filename = { fname = function(nr) return vim.fn.getcwd(nr) end, padding = { left = 1 } },
-- disable all other elements of the file_info component
file_icon = false,
file_modified = false,
file_read_only = false,
-- use no separator for this part but define a background color
surround = { separator = "none", color = "file_info_bg", condition = false },
},
},
-- the final component of the NvChad statusline is the navigation section
-- this is very similar to the previous current working directory section with the icon
{ -- make nav section with icon border
-- define a custom component with just a file icon
status.component.builder {
{ provider = require("astronvim.utils").get_icon "ScrollText" },
-- add padding after icon
padding = { right = 1 },
-- set the icon foreground
hl = { fg = "bg" },
-- use the right separator and define the background color
-- as well as the color to the left of the separator
surround = { separator = "right", color = { main = "nav_icon_bg", left = "file_info_bg" } },
},
-- add a navigation component and just display the percentage of progress in the file
status.component.nav {
-- add some padding for the percentage provider
percentage = { padding = { right = 1 } },
-- disable all other providers
ruler = false,
scrollbar = false,
-- use no separator and define the background color
surround = { separator = "none", color = "file_info_bg" },
},
},
}
-- return the final options table
return opts
end,
}
from docs.
Related Issues (20)
- Add recipe for adding buffer diagnostics to the `tabline` with Heirline HOT 1
- Can the official website provide multilingual support? HOT 3
- Clangd configuration no more needed
- Docs inconsistent with default config for treesitter textobjects HOT 3
- Following the instructions in AstroNvim websites does not work. HOT 1
- Docs: Home page links
- Add overview to each documentation page HOT 2
- Update old documentation pages HOT 1
- Add "How to use this documentation" page HOT 2
- Make a page dedicated to AstroNvim core plugins HOT 1
- Write v4 migration guide
- AstroCommunity Promotion HOT 1
- Add new v4 features/additions into the docs HOT 1
- Add details on adding completion for core plugin configuration HOT 1
- JDTLS example is not quite right HOT 1
- Add more details on customizing LSP options in the Advanced LSP Setup page HOT 1
- Provide more details on the Custom Plugins page HOT 1
- Using the nvchad telescope recipe, there is a display issue. HOT 4
- Search doesn't seem to be working. HOT 3
- Error on installing `mason-registry` when running `nvim` docker image provided on website HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from docs.