summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Haller <stefan@haller-berlin.de>2023-06-15 13:39:11 +0200
committerStefan Haller <stefan@haller-berlin.de>2023-06-15 21:47:52 +0200
commit77c5d1761d0743b6704b660b956deeee0d963a65 (patch)
treeafad8cb3587629b37030e55e7796d543f31ff382
parent6ab5d7f69ba51f9b261cc2179ef8f82cfa35be81 (diff)
Add nerdFontsVersion config
-rw-r--r--docs/Config.md8
-rw-r--r--pkg/config/user_config.go2
-rw-r--r--pkg/gui/gui.go6
-rw-r--r--pkg/gui/presentation/icons/file_icons.go518
-rw-r--r--pkg/gui/presentation/icons/git_icons.go33
-rw-r--r--pkg/gui/presentation/icons/icons.go19
6 files changed, 315 insertions, 271 deletions
diff --git a/docs/Config.md b/docs/Config.md
index 938aaba29..5c14b2da9 100644
--- a/docs/Config.md
+++ b/docs/Config.md
@@ -62,7 +62,8 @@ gui:
experimentalShowBranchHeads: false # visualize branch heads with (*) in commits list
showBottomLine: true # for hiding the bottom information line (unless it has important information to tell you)
showCommandLog: true
- showIcons: false
+ showIcons: false # deprecated: use nerdFontsVersion instead
+ nerdFontsVersion: "" # nerd fonts version to use ("2" or "3"); empty means don't show nerd font icons
commandLogSize: 8
splitDiff: 'auto' # one of 'auto' | 'always'
skipRewordInEditorWarning: false # for skipping the confirmation before launching the reword editor
@@ -420,9 +421,12 @@ If you are using [Nerd Fonts](https://www.nerdfonts.com), you can display icons.
```yaml
gui:
- showIcons: true
+ nerdFontsVersion: "3"
```
+Supported versions are "2" and "3". The deprecated config `showIcons` sets the
+version to "2" for backwards compatibility.
+
## Keybindings
For all possible keybinding options, check [Custom_Keybindings.md](https://github.com/jesseduffield/lazygit/blob/master/docs/keybindings/Custom_Keybindings.md)
diff --git a/pkg/config/user_config.go b/pkg/config/user_config.go
index 597253e3d..dcc0e0ef6 100644
--- a/pkg/config/user_config.go
+++ b/pkg/config/user_config.go
@@ -49,6 +49,7 @@ type GuiConfig struct {
ShowCommandLog bool `yaml:"showCommandLog"`
ShowBottomLine bool `yaml:"showBottomLine"`
ShowIcons bool `yaml:"showIcons"`
+ NerdFontsVersion string `yaml:"nerdFontsVersion"`
ShowBranchCommitHash bool `yaml:"showBranchCommitHash"`
ExperimentalShowBranchHeads bool `yaml:"experimentalShowBranchHeads"`
CommandLogSize int `yaml:"commandLogSize"`
@@ -426,6 +427,7 @@ func GetDefaultConfig() *UserConfig {
ShowFileTree: true,
ShowRandomTip: true,
ShowIcons: false,
+ NerdFontsVersion: "",
ExperimentalShowBranchHeads: false,
ShowBranchCommitHash: false,
CommandLogSize: 8,
diff --git a/pkg/gui/gui.go b/pkg/gui/gui.go
index b429bda27..b922c5f77 100644
--- a/pkg/gui/gui.go
+++ b/pkg/gui/gui.go
@@ -496,7 +496,11 @@ func NewGui(
gui.c = helperCommon
authors.SetCustomAuthors(gui.UserConfig.Gui.AuthorColors)
- icons.SetIconEnabled(gui.UserConfig.Gui.ShowIcons)
+ if gui.UserConfig.Gui.NerdFontsVersion != "" {
+ icons.SetNerdFontsVersion(gui.UserConfig.Gui.NerdFontsVersion)
+ } else if gui.UserConfig.Gui.ShowIcons {
+ icons.SetNerdFontsVersion("2")
+ }
presentation.SetCustomBranches(gui.UserConfig.Gui.BranchColors)
gui.BackgroundRoutineMgr = &BackgroundRoutineMgr{gui: gui}
diff --git a/pkg/gui/presentation/icons/file_icons.go b/pkg/gui/presentation/icons/file_icons.go
index 6e647038b..b4ff58919 100644
--- a/pkg/gui/presentation/icons/file_icons.go
+++ b/pkg/gui/presentation/icons/file_icons.go
@@ -57,260 +57,270 @@ var nameIconMap = map[string]string{
}
var extIconMap = map[string]string{
- ".ai": "\ue7b4", // 
- ".android": "\ue70e", // 
- ".apk": "\ue70e", // 
- ".apple": "\uf179", // 
- ".avi": "\uf03d", // 
- ".avif": "\uf1c5", // 
- ".avro": "\ue60b", // 
- ".awk": "\uf489", // 
- ".bash": "\uf489", // 
- ".bash_history": "\uf489", // 
- ".bash_profile": "\uf489", // 
- ".bashrc": "\uf489", // 
- ".bat": "\uf17a", // 
- ".bats": "\uf489", // 
- ".bmp": "\uf1c5", // 
- ".bz": "\uf410", // 
- ".bz2": "\uf410", // 
- ".c": "\ue61e", // 
- ".c++": "\ue61d", // 
- ".cab": "\ue70f", // 
- ".cc": "\ue61d", // 
- ".cfg": "\ue615", // 
- ".class": "\ue256", // 
- ".clj": "\ue768", // 
- ".cljs": "\ue76a", // 
- ".cls": "\uf034", // 
- ".cmd": "\ue70f", // 
- ".coffee": "\uf0f4", // 
- ".conf": "\ue615", // 
- ".cp": "\ue61d", // 
- ".cpio": "\uf410", // 
- ".cpp": "\ue61d", // 
- ".cs": "\uf81a", // 
- ".csh": "\uf489", // 
- ".cshtml": "\uf1fa", // 
- ".csproj": "\uf81a", // 
- ".css": "\ue749", // 
- ".csv": "\uf1c3", // 
- ".csx": "\uf81a", // 
- ".cxx": "\ue61d", // 
- ".d": "\ue7af", // 
- ".dart": "\ue798", // 
- ".db": "\uf1c0", // 
- ".deb": "\ue77d", // 
- ".diff": "\uf440", // 
- ".djvu": "\uf02d", // 
- ".dll": "\ue70f", // 
- ".doc": "\uf1c2", // 
- ".docx": "\uf1c2", // 
- ".ds_store": "\uf179", // 
- ".DS_store": "\uf179", // 
- ".dump": "\uf1c0", // 
- ".ebook": "\ue28b", // 
- ".ebuild": "\uf30d", // 
- ".editorconfig": "\ue615", // 
- ".ejs": "\ue618", // 
- ".elm": "\ue62c", // 
- ".env": "\uf462", // 
- ".eot": "\uf031", // 
- ".epub": "\ue28a", // 
- ".erb": "\ue73b", // 
- ".erl": "\ue7b1", // 
- ".ex": "\ue62d", // 
- ".exe": "\uf17a", // 
- ".exs": "\ue62d", // 
- ".fish": "\uf489", // 
- ".flac": "\uf001", // 
- ".flv": "\uf03d", // 
- ".font": "\uf031", // 
- ".fs": "\ue7a7", // 
- ".fsi": "\ue7a7", // 
- ".fsx": "\ue7a7", // 
- ".gdoc": "\uf1c2", // 
- ".gem": "\ue21e", // 
- ".gemfile": "\ue21e", // 
- ".gemspec": "\ue21e", // 
- ".gform": "\uf298", // 
- ".gif": "\uf1c5", // 
- ".git": "\uf1d3", // 
- ".gitattributes": "\uf1d3", // 
- ".gitignore": "\uf1d3", // 
- ".gitmodules": "\uf1d3", // 
- ".go": "\ue626", // 
- ".gradle": "\ue256", // 
- ".groovy": "\ue775", // 
- ".gsheet": "\uf1c3", // 
- ".gslides": "\uf1c4", // 
- ".guardfile": "\ue21e", // 
- ".gz": "\uf410", // 
- ".h": "\uf0fd", // 
- ".hbs": "\ue60f", // 
- ".hpp": "\uf0fd", // 
- ".hs": "\ue777", // 
- ".htm": "\uf13b", // 
- ".html": "\uf13b", // 
- ".hxx": "\uf0fd", // 
- ".ico": "\uf1c5", // 
- ".image": "\uf1c5", // 
- ".iml": "\ue7b5", // 
- ".ini": "\uf17a", // 
- ".ipynb": "\ue606", // 
- ".iso": "\ue271", // 
- ".j2c": "\uf1c5", // 
- ".j2k": "\uf1c5", // 
- ".jad": "\ue256", // 
- ".jar": "\ue256", // 
- ".java": "\ue256", // 
- ".jfi": "\uf1c5", // 
- ".jfif": "\uf1c5", // 
- ".jif": "\uf1c5", // 
- ".jl": "\ue624", // 
- ".jmd": "\uf48a", // 
- ".jp2": "\uf1c5", // 
- ".jpe": "\uf1c5", // 
- ".jpeg": "\uf1c5", // 
- ".jpg": "\uf1c5", // 
- ".jpx": "\uf1c5", // 
- ".js": "\ue74e", // 
- ".json": "\ue60b", // 
- ".jsx": "\ue7ba", // 
- ".jxl": "\uf1c5", // 
- ".ksh": "\uf489", // 
- ".kt": "\ue634", // 
- ".kts": "\ue634", // 
- ".latex": "\uf034", // 
- ".less": "\ue758", // 
- ".lhs": "\ue777", // 
- ".license": "\uf718", // 
- ".localized": "\uf179", // 
- ".lock": "\uf023", // 
- ".log": "\uf18d", // 
- ".lua": "\ue620", // 
- ".lz": "\uf410", // 
- ".lz4": "\uf410", // 
- ".lzh": "\uf410", // 
- ".lzma": "\uf410", // 
- ".lzo": "\uf410", // 
- ".m": "\ue61e", // 
- ".mm": "\ue61d", // 
- ".m4a": "\uf001", // 
- ".markdown": "\uf48a", // 
- ".md": "\uf48a", // 
- ".mjs": "\ue74e", // 
- ".mk": "\uf489", // 
- ".mkd": "\uf48a", // 
- ".mkv": "\uf03d", // 
- ".mobi": "\ue28b", // 
- ".mov": "\uf03d", // 
- ".mp3": "\uf001", // 
- ".mp4": "\uf03d", // 
- ".msi": "\ue70f", // 
- ".mustache": "\ue60f", // 
- ".nix": "\uf313", // 
- ".node": "\uf898", // 
- ".npmignore": "\ue71e", // 
- ".odp": "\uf1c4", // 
- ".ods": "\uf1c3", // 
- ".odt": "\uf1c2", // 
- ".ogg": "\uf001", // 
- ".ogv": "\uf03d", // 
- ".otf": "\uf031", // 
- ".part": "\uf43a", // 
- ".patch": "\uf440", // 
- ".pdf": "\uf1c1", // 
- ".php": "\ue73d", // 
- ".pl": "\ue769", // 
- ".png": "\uf1c5", // 
- ".ppt": "\uf1c4", // 
- ".pptx": "\uf1c4", // 
- ".procfile": "\ue21e", // 
- ".properties": "\ue60b", // 
- ".ps1": "\uf489", // 
- ".psd": "\ue7b8", // 
- ".pxm": "\uf1c5", // 
- ".py": "\ue606", // 
- ".pyc": "\ue606", // 
- ".r": "\uf25d", // 
- ".rakefile": "\ue21e", // 
- ".rar": "\uf410", // 
- ".razor": "\uf1fa", // 
- ".rb": "\ue21e", // 
- ".rdata": "\uf25d", // 
- ".rdb": "\ue76d", // 
- ".rdoc": "\uf48a", // 
- ".rds": "\uf25d", // 
- ".readme": "\uf48a", // 
- ".rlib": "\ue7a8", // 
- ".rmd": "\uf48a", // 
- ".rpm": "\ue7bb", // 
- ".rs": "\ue7a8", // 
- ".rspec": "\ue21e", // 
- ".rspec_parallel": "\ue21e", // 
- ".rspec_status": "\ue21e", // 
- ".rss": "\uf09e", // 
- ".rtf": "\uf718", // 
- ".ru": "\ue21e", // 
- ".rubydoc": "\ue73b", // 
- ".sass": "\ue603", // 
- ".scala": "\ue737", // 
- ".scss": "\ue749", // 
- ".sh": "\uf489", // 
- ".shell": "\uf489", // 
- ".slim": "\ue73b", // 
- ".sln": "\ue70c", // 
- ".so": "\uf17c", // 
- ".sql": "\uf1c0", // 
- ".sqlite3": "\ue7c4", // 
- ".sty": "\uf034", // 
- ".styl": "\ue600", // 
- ".stylus": "\ue600", // 
- ".svg": "\uf1c5", // 
- ".swift": "\ue755", // 
- ".tar": "\uf410", // 
- ".taz": "\uf410", // 
- ".tbz": "\uf410", // 
- ".tbz2": "\uf410", // 
- ".tex": "\uf034", // 
- ".tgz": "\uf410", // 
- ".tiff": "\uf1c5", // 
- ".tlz": "\uf410", // 
- ".toml": "\ue615", // 
- ".torrent": "\ue275", // 
- ".ts": "\ue628", // 
- ".tsv": "\uf1c3", // 
- ".tsx": "\ue7ba", // 
- ".ttf": "\uf031", // 
- ".twig": "\ue61c", // 
- ".txt": "\uf15c", // 
- ".txz": "\uf410", // 
- ".tz": "\uf410", // 
- ".tzo": "\uf410", // 
- ".video": "\uf03d", // 
- ".vim": "\ue62b", // 
- ".vue": "\ufd42", // ﵂
- ".war": "\ue256", // 
- ".wav": "\uf001", // 
- ".webm": "\uf03d", // 
- ".webp": "\uf1c5", // 
- ".windows": "\uf17a", // 
- ".woff": "\uf031", // 
- ".woff2": "\uf031", // 
- ".xhtml": "\uf13b", // 
- ".xls": "\uf1c3", // 
- ".xlsx": "\uf1c3", // 
- ".xml": "\uf121", // 
- ".xul": "\uf121", // 
- ".xz": "\uf410", // 
- ".yaml": "\uf481", // 
- ".yml": "\uf481", // 
- ".zip": "\uf410", // 
- ".zsh": "\uf489", // 
- ".zsh-theme": "\uf489", // 
- ".zshrc": "\uf489", // 
- ".zst": "\uf410", // 
+ ".ai": "\ue7b4", // 
+ ".android": "\ue70e", // 
+ ".apk": "\ue70e", // 
+ ".apple": "\uf179", // 
+ ".avi": "\uf03d", // 
+ ".avif": "\uf1c5", // 
+ ".avro": "\ue60b", // 
+ ".awk": "\uf489", // 
+ ".bash": "\uf489", // 
+ ".bash_history": "\uf489", // 
+ ".bash_profile": "\uf489", // 
+ ".bashrc": "\uf489", // 
+ ".bat": "\uf17a", // 
+ ".bats": "\uf489", // 
+ ".bmp": "\uf1c5", // 
+ ".bz": "\uf410", // 
+ ".bz2": "\uf410", // 
+ ".c": "\ue61e", // 
+ ".c++": "\ue61d", // 
+ ".cab": "\ue70f", // 
+ ".cc": "\ue61d", // 
+ ".cfg": "\ue615", // 
+ ".class": "\ue256", // 
+ ".clj": "\ue768", // 
+ ".cljs": "\ue76a", // 
+ ".cls": "\uf034", // 
+ ".cmd": "\ue70f", // 
+ ".coffee": "\uf0f4", // 
+ ".conf": "\ue615", // 
+ ".cp": "\ue61d", // 
+ ".cpio": "\uf410", // 
+ ".cpp": "\ue61d", // 
+ ".cs": "\U000f031b", // 󰌛
+ ".csh": "\uf489", // 
+ ".cshtml": "\uf1fa", // 
+ ".csproj": "\U000f031b", // 󰌛
+ ".css": "\ue749", // 
+ ".csv": "\uf1c3", // 
+ ".csx": "\U000f031b", // 󰌛
+ ".cxx": "\ue61d", // 
+ ".d": "\ue7af", // 
+ ".dart": "\ue798", // 
+ ".db": "\uf1c0", // 
+ ".deb": "\ue77d", // 
+ ".diff": "\uf440", // 
+ ".djvu": "\uf02d", // 
+ ".dll": "\ue70f", // 
+ ".doc": "\uf1c2", // 
+ ".docx": "\uf1c2", // 
+ ".ds_store": "\uf179", // 
+ ".DS_store": "\uf179", // 
+ ".dump": "\uf1c0", // 
+ ".ebook": "\ue28b", // 
+ ".ebuild": "\uf30d", // 
+ ".editorconfig": "\ue615", // 
+ ".ejs": "\ue618", // 
+ ".elm": "\ue62c", // 
+ ".env": "\uf462", // 
+ ".eot": "\uf031", // 
+ ".epub": "\ue28a", // 
+ ".erb": "\ue73b", // 
+ ".erl": "\ue7b1", // 
+ ".ex": "\ue62d", // 
+ ".exe": "\uf17a", // 
+ ".exs": "\ue62d", // 
+ ".fish": "\uf489", // 
+ ".flac": "\uf001", // 
+ ".flv": "\uf03d", // 
+ ".font": "\uf031", // 
+ ".fs": "\ue7a7", // 
+ ".fsi": "\ue7a7", // 
+ ".fsx": "\ue7a7", // 
+ ".gdoc": "\uf1c2", // 
+ ".gem": "\ue21e", // 
+ ".gemfile": "\ue21e", // 
+ ".gemspec": "\ue21e", // 
+ ".gform": "\uf298", // 
+ ".gif": "\uf1c5", // 
+ ".git": "\uf1d3", // 
+ ".gitattributes": "\uf1d3", // 
+ ".gitignore": "\uf1d3", // 
+ ".gitmodules": "\uf1d3", // 
+ ".go": "\ue626", // 
+ ".gradle": "\ue256", // 
+ ".groovy": "\ue775", // 
+ ".gsheet": "\uf1c3", // 
+ ".gslides": "\uf1c4", // 
+ ".guardfile": "\ue21e", // 
+ ".gz": "\uf410", // 
+ ".h": "\uf0fd", // 
+ ".hbs": "\ue60f", // 
+ ".hpp": "\uf0fd", // 
+ ".hs": "\ue777", // 
+ ".htm": "\uf13b", // 
+ ".html": "\uf13b", // 
+ ".hxx": "\uf0fd", // 
+ ".ico": "\uf1c5", // 
+ ".image": "\uf1c5", // 
+ ".iml": "\ue7b5", // 
+ ".ini": "\uf17a", // 
+ ".ipynb": "\ue606", // 
+ ".iso": "\ue271", // 
+ ".j2c": "\uf1c5", // 
+ ".j2k": "\uf1c5", // 
+ ".jad": "\ue256", // 
+ ".jar": "\ue256", // 
+ ".java": "\ue256", // 
+ ".jfi": "\uf1c5", // 
+ ".jfif": "\uf1c5", // 
+ ".jif": "\uf1c5", // 
+ ".jl": "\ue624", // 
+ ".jmd": "\uf48a", // 
+ ".jp2": "\uf1c5", // 
+ ".jpe": "\uf1c5", // 
+ ".jpeg": "\uf1c5", // 
+ ".jpg": "\uf1c5", // 
+ ".jpx": "\uf1c5", // 
+ ".js": "\ue74e", // 
+ ".json": "\ue60b", // 
+ ".jsx": "\ue7ba", // 
+ ".jxl": "\uf1c5", // 
+ ".ksh": "\uf489", // 
+ ".kt": "\ue634", // 
+ ".kts": "\ue634", // 
+ ".latex": "\uf034", // 
+ ".less": "\ue758", // 
+ ".lhs": "\ue777", // 
+ ".license": "\U000f0219", // 󰈙
+ ".localized": "\uf179", // 
+ ".lock": "\uf023", // 
+ ".log": "\uf18d", // 
+ ".lua": "\ue620", // 
+ ".lz": "\uf410", // 
+ ".lz4": "\uf410", // 
+ ".lzh": "\uf410", // 
+ ".lzma": "\uf410", // 
+ ".lzo": "\uf410", // 
+ ".m": "\ue61e", // 
+ ".mm": "\ue61d", // 
+ ".m4a": "\uf001", // 
+ ".markdown": "\uf48a", // 
+ ".md": "\uf48a", // 
+ ".mjs": "\ue74e", // 
+ ".mk": "\uf489", // 
+ ".mkd": "\uf48a", // 
+ ".mkv": "\uf03d", // 
+ ".mobi": "\ue28b", // 
+ ".mov": "\uf03d", // 
+ ".mp3": "\uf001", // 
+ ".mp4": "\uf03d", // 
+ ".msi": "\ue70f", // 
+ ".mustache": "\ue60f", // 
+ ".nix": "\uf313", // 
+ ".node": "\U000f0399", // 󰎙
+ ".npmignore": "\ue71e", // 
+ ".odp": "\uf1c4", // 
+ ".ods": "\uf1c3", // 
+ ".odt": "\uf1c2", // 
+ ".ogg": "\uf001", // 
+ ".ogv": "\uf03d", // 
+ ".otf": "\uf031", // 
+ ".part": "\uf43a", // 
+ ".patch": "\uf440", // 
+ ".pdf": "\uf1c1", // 
+ ".php": "\ue73d", // 
+ ".pl": "\ue769", // 
+ ".png": "\uf1c5", // 
+ ".ppt": "\uf1c4", // 
+ ".pptx": "\uf1c4", // 
+ ".procfile": "\ue21e", // 
+ ".properties": "\ue60b", // 
+ ".ps1": "\uf489", // 
+ ".psd": "\ue7b8", // 
+ ".pxm": "\uf1c5", // 
+ ".py": "\ue606", // 
+ ".pyc": "\ue606", // 
+ ".r": "\uf25d", // 
+ ".rakefile": "\ue21e", // 
+ ".rar": "\uf410", // 
+ ".razor": "\uf1fa", // 
+ ".rb": "\ue21e", // 
+ ".rdata": "\uf25d", // 
+ ".rdb": "\ue76d", // 
+ ".rdoc": "\uf48a", // 
+ ".rds": "\uf25d", // 
+ ".readme": "\uf48a", // 
+ ".rlib": "\ue7a8", // 
+ ".rmd": "\uf48a", // 
+ ".rpm": "\ue7bb", // 
+ ".rs": "\ue7a8", // 
+ ".rspec": "\ue21e", // 
+ ".rspec_parallel": "\ue21e", // 
+ ".rspec_status": "\ue21e", // 
+ ".rss": "\uf09e", // 
+ ".rtf": "\U000f0219", // 󰈙
+ ".ru": "\ue21e", // 
+ ".rubydoc": "\ue73b", // 
+ ".sass": "\ue603", // 
+ ".scala": "\ue737", // 
+ ".scss": "\ue749", // 
+ ".sh": "\uf489", // 
+ ".shell": "\uf489", // 
+ ".slim": "\ue73b", // 
+ ".sln": "\ue70c", // 
+ ".so": "\uf17c", // 
+ ".sql": "\uf1c0", // 
+ ".sqlite3": "\ue7c4", // 
+ ".sty": "\uf034", // 
+ ".styl": "\ue600", // 
+ ".stylus": "\ue600", // 
+ ".svg": "\uf1c5", // 
+ ".swift": "\ue755", // 
+ ".tar": "\uf410", // 
+ ".taz": "\uf410", // 
+ ".tbz": "\uf410", // 
+ ".tbz2": "\uf410", // 
+ ".tex": "\uf034", // 
+ ".tgz": "\uf410", // 
+ ".tiff": "\uf1c5", // 
+ ".tlz": "\uf410", // 
+ ".toml": "\ue615", // 
+ ".torrent": "\ue275", // 
+ ".ts": "\ue628", // 
+ ".tsv": "\uf1c3", // 
+ ".tsx": "\ue7ba", // 
+ ".ttf": "\uf031", // 
+ ".twig": "\ue61c", // 
+ ".txt": "\uf15c", // 
+ ".txz": "\uf410", // 
+ ".tz": "\uf410", // 
+ ".tzo": "\uf410", // 
+ ".video": "\uf03d", // 
+ ".vim": "\ue62b", // 
+ ".vue": "\U000f0844", // 󰡄
+ ".war": "\ue256", // 
+ ".wav": "\uf001", // 
+ ".webm": "\uf03d", // 
+ ".webp": "\uf1c5", // 
+ ".windows": "\uf17a", // 
+ ".woff": "\uf031", // 
+ ".woff2": "\uf031", // 
+ ".xhtml": "\uf13b", // 
+ ".xls": "\uf1c3", // 
+ ".xlsx": "\uf1c3", // 
+ ".xml": "\uf121", // 
+ ".xul": "\uf121", // 
+ ".xz": "\uf410", // 
+ ".yaml": "\uf481", // 
+ ".yml": "\uf481", // 
+ ".zip": "\uf410", // 
+ ".zsh": "\uf489", // 
+ ".zsh-theme": "\uf489", // 
+ ".zshrc": "\uf489", // 
+ ".zst": "\uf410", // 
+}
+
+func patchFileIconsForNerdFontsV2() {
+ extIconMap[".cs"] = "\uf81a" // 
+ extIconMap[".csproj"] = "\uf81a" // 
+ extIconMap[".csx"] = "\uf81a" // 
+ extIconMap[".license"] = "\uf718" // 
+ extIconMap[".node"] = "\uf898" // 
+ extIconMap[".rtf"] = "\uf718" // 
+ extIconMap[".vue"] = "\ufd42" // ﵂
}
func IconForFile(name string, isSubmodule bool, isDirectory bool) string {
diff --git a/pkg/gui/presentation/icons/git_icons.go b/pkg/gui/presentation/icons/git_icons.go
index 342e015fe..6fd8bfb57 100644
--- a/pkg/gui/presentation/icons/git_icons.go
+++ b/pkg/gui/presentation/icons/git_icons.go
@@ -6,21 +6,30 @@ import (
"github.com/jesseduffield/lazygit/pkg/commands/models"
)
-const (
- BRANCH_ICON = "\ufb2b" // שׂ
- DETACHED_HEAD_ICON = "\ue729" // 
- TAG_ICON = "\uf02b" // 
- COMMIT_ICON = "\ufc16" // ﰖ
- MERGE_COMMIT_ICON = "\ufb2c" // שּׁ
- DEFAULT_REMOTE_ICON = "\uf7a1" // 
- STASH_ICON = "\uf01c" // 
+var (
+ BRANCH_ICON = "\U000f062c" // 󰘬
+ DETACHED_HEAD_ICON = "\ue729" // 
+ TAG_ICON = "\uf02b" // 
+ COMMIT_ICON = "\U000f0718" // 󰜘
+ MERGE_COMMIT_ICON = "\U000f062d" // 󰘭
+ DEFAULT_REMOTE_ICON = "\uf02a2" // 󰊢
+ STASH_ICON = "\uf01c" // 
)
var remoteIcons = map[string]string{
- "github.com": "\ue709", // 
- "bitbucket.org": "\ue703", // 
- "gitlab.com": "\uf296", // 
- "dev.azure.com": "\ufd03", // ﴃ
+ "github.com": "\ue709", // 
+ "bitbucket.org": "\ue703", // 
+ "gitlab.com": "\uf296", // 
+ "dev.azure.com": "\U000f0805", // 󰠅
+}
+
+func patchGitIconsForNerdFontsV2() {
+ BRANCH_ICON = "\ufb2b" // שׂ
+ COMMIT_ICON = "\ufc16" // ﰖ
+ MERGE_COMMIT_ICON = "\ufb2c" // שּׁ
+ DEFAULT_REMOTE_ICON = "\uf7a1" // 
+
+ remoteIcons["dev.azure.com"] = "\ufd03" // ﴃ
}
func IconForBranch(branch *models.Branch) string {
diff --git a/pkg/gui/presentation/icons/icons.go b/pkg/gui/presentation/icons/icons.go
index 81b16108b..fbfc9bb07 100644
--- a/pkg/gui/presentation/icons/icons.go
+++ b/pkg/gui/presentation/icons/icons.go
@@ -1,11 +1,26 @@
package icons
+import (
+ "log"
+
+ "github.com/samber/lo"
+)
+
var isIconEnabled = false
func IsIconEnabled() bool {
return isIconEnabled
}
-func SetIconEnabled(showIcons bool) {
- isIconEnabled = showIcons
+func SetNerdFontsVersion(version string) {
+ if !lo.Contains([]string{"2", "3"}, version) {
+ log.Fatalf("Unsupported nerdFontVersion %s", version)
+ }
+
+ if version == "2" {
+ patchGitIconsForNerdFontsV2()
+ patchFileIconsForNerdFontsV2()
+ }
+
+ isIconEnabled = true
}