Skip to content

Commit 4d9b824

Browse files
dam9000seasea128
authored andcommitted
Make the Nerd Font an optional requirement (nvim-lua#716)
1 parent bcd55dd commit 4d9b824

File tree

2 files changed

+31
-7
lines changed

2 files changed

+31
-7
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ If you are experiencing issues, please make sure you have the latest versions.
2727
External Requirements:
2828
- Basic utils: `git`, `make`, `unzip`, C Compiler (`gcc`)
2929
- [ripgrep](https://github.com/BurntSushi/ripgrep#installation)
30+
- A [Nerd Font](https://www.nerdfonts.com/): optional, provides various icons
31+
- if you have it set `vim.g.have_nerd_font` in `init.lua` to true
3032
- Language Setup:
3133
- If want to write Typescript, you need `npm`
3234
- If want to write Golang, you will need `go`

init.lua

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@ P.S. You can delete this when you're done too. It's your config now! :)
9090
vim.g.mapleader = ' '
9191
vim.g.maplocalleader = ' '
9292

93+
-- Set to true if you have a Nerd Font installed
94+
vim.g.have_nerd_font = false
95+
9396
-- [[ Setting options ]]
9497
-- See `:help vim.opt`
9598
-- NOTE: You can change these options as you wish!
@@ -218,7 +221,7 @@ vim.opt.rtp:prepend(lazypath)
218221
-- :Lazy update
219222
--
220223
-- NOTE: Here is where you install your plugins.
221-
require('lazy').setup {
224+
require('lazy').setup({
222225
-- NOTE: Plugins can be added with a link (or for a github repo: 'owner/repo' link).
223226
'tpope/vim-sleuth', -- Detect tabstop and shiftwidth automatically
224227

@@ -385,10 +388,8 @@ require('lazy').setup {
385388
},
386389
{ 'nvim-telescope/telescope-ui-select.nvim' },
387390

388-
-- Useful for getting pretty icons, but requires special font.
389-
-- If you already have a Nerd Font, or terminal set up with fallback fonts
390-
-- you can enable this
391-
-- { 'nvim-tree/nvim-web-devicons' }
391+
-- Useful for getting pretty icons, but requires a Nerd Font.
392+
{ 'nvim-tree/nvim-web-devicons', enabled = vim.g.have_nerd_font },
392393
},
393394
config = function()
394395
-- Telescope is a fuzzy finder that comes with a lot of different things that
@@ -833,7 +834,8 @@ require('lazy').setup {
833834
-- You could remove this setup call if you don't like it,
834835
-- and try some other statusline plugin
835836
local statusline = require 'mini.statusline'
836-
statusline.setup()
837+
-- set use_icons to true if you have a Nerd Font
838+
statusline.setup { use_icons = vim.g.have_nerd_font }
837839

838840
-- You can configure sections in the statusline by overriding their
839841
-- default behavior. For example, here we set the section for
@@ -890,7 +892,27 @@ require('lazy').setup {
890892
-- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going.
891893
-- For additional information, see `:help lazy.nvim-lazy.nvim-structuring-your-plugins`
892894
-- { import = 'custom.plugins' },
893-
}
895+
}, {
896+
ui = {
897+
-- If you have a Nerd Font, set icons to an empty table which will use the
898+
-- default lazy.nvim defined Nerd Font icons otherwise define a unicode icons table
899+
icons = vim.g.have_nerd_font and {} or {
900+
cmd = '',
901+
config = '🛠',
902+
event = '📅',
903+
ft = '📂',
904+
init = '',
905+
keys = '🗝',
906+
plugin = '🔌',
907+
runtime = '💻',
908+
require = '🌙',
909+
source = '📄',
910+
start = '🚀',
911+
task = '📌',
912+
lazy = '💤 ',
913+
},
914+
},
915+
})
894916

895917
-- The line beneath this is called `modeline`. See `:help modeline`
896918
-- vim: ts=2 sts=2 sw=2 et

0 commit comments

Comments
 (0)