mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-23 10:40:03 +08:00
2100 lines
40 KiB
Lua
2100 lines
40 KiB
Lua
-- exact match by file name
|
|
local icons_by_filename = {
|
|
[".babelrc"] = {
|
|
icon = "",
|
|
color = "#cbcb41",
|
|
cterm_color = "185",
|
|
name = "Babelrc",
|
|
},
|
|
[".bash_profile"] = {
|
|
icon = "",
|
|
color = "#89e051",
|
|
cterm_color = "113",
|
|
name = "BashProfile",
|
|
},
|
|
[".bashrc"] = {
|
|
icon = "",
|
|
color = "#89e051",
|
|
cterm_color = "113",
|
|
name = "Bashrc",
|
|
},
|
|
[".ds_store"] = {
|
|
icon = "",
|
|
color = "#41535b",
|
|
cterm_color = "239",
|
|
name = "DsStore",
|
|
},
|
|
[".eslintrc"] = {
|
|
icon = "",
|
|
color = "#4b32c3",
|
|
cterm_color = "56",
|
|
name = "Eslintrc",
|
|
},
|
|
[".gitattributes"] = {
|
|
icon = "",
|
|
color = "#41535b",
|
|
cterm_color = "239",
|
|
name = "GitAttributes",
|
|
},
|
|
[".gitconfig"] = {
|
|
icon = "",
|
|
color = "#41535b",
|
|
cterm_color = "239",
|
|
name = "GitConfig",
|
|
},
|
|
[".gitignore"] = {
|
|
icon = "",
|
|
color = "#41535b",
|
|
cterm_color = "239",
|
|
name = "GitIgnore",
|
|
},
|
|
[".gitlab-ci.yml"] = {
|
|
icon = "",
|
|
color = "#e24329",
|
|
cterm_color = "196",
|
|
name = "GitlabCI",
|
|
},
|
|
[".gitmodules"] = {
|
|
icon = "",
|
|
color = "#41535b",
|
|
cterm_color = "239",
|
|
name = "GitModules",
|
|
},
|
|
[".gvimrc"] = {
|
|
icon = "",
|
|
color = "#019833",
|
|
cterm_color = "28",
|
|
name = "Gvimrc",
|
|
},
|
|
[".npmignore"] = {
|
|
icon = "",
|
|
color = "#E8274B",
|
|
cterm_color = "197",
|
|
name = "NPMIgnore",
|
|
},
|
|
[".npmrc"] = {
|
|
icon = "",
|
|
color = "#E8274B",
|
|
cterm_color = "197",
|
|
name = "NPMrc",
|
|
},
|
|
[".settings.json"] = {
|
|
icon = "",
|
|
color = "#854CC7",
|
|
cterm_color = "98",
|
|
name = "SettingsJson",
|
|
},
|
|
[".vimrc"] = {
|
|
icon = "",
|
|
color = "#019833",
|
|
cterm_color = "28",
|
|
name = "Vimrc",
|
|
},
|
|
[".zprofile"] = {
|
|
icon = "",
|
|
color = "#89e051",
|
|
cterm_color = "113",
|
|
name = "Zshprofile",
|
|
},
|
|
[".zshenv"] = {
|
|
icon = "",
|
|
color = "#89e051",
|
|
cterm_color = "113",
|
|
name = "Zshenv",
|
|
},
|
|
[".zshrc"] = {
|
|
icon = "",
|
|
color = "#89e051",
|
|
cterm_color = "113",
|
|
name = "Zshrc",
|
|
},
|
|
["brewfile"] = {
|
|
icon = "",
|
|
color = "#701516",
|
|
cterm_color = "52",
|
|
name = "Brewfile",
|
|
},
|
|
["cmakelists.txt"] = {
|
|
icon = "",
|
|
color = "#6d8086",
|
|
cterm_color = "66",
|
|
name = "CMakeLists",
|
|
},
|
|
["commit_editmsg"] = {
|
|
icon = "",
|
|
color = "#41535b",
|
|
cterm_color = "239",
|
|
name = "GitCommit",
|
|
},
|
|
["containerfile"] = {
|
|
icon = "",
|
|
color = "#458ee6",
|
|
cterm_color = "68",
|
|
name = "Dockerfile",
|
|
},
|
|
["copying"] = {
|
|
icon = "",
|
|
color = "#cbcb41",
|
|
cterm_color = "185",
|
|
name = "License",
|
|
},
|
|
["copying.lesser"] = {
|
|
icon = "",
|
|
color = "#cbcb41",
|
|
cterm_color = "185",
|
|
name = "License",
|
|
},
|
|
["docker-compose.yml"] = {
|
|
icon = "",
|
|
color = "#458ee6",
|
|
cterm_color = "68",
|
|
name = "Dockerfile",
|
|
},
|
|
["docker-compose.yaml"] = {
|
|
icon = "",
|
|
color = "#458ee6",
|
|
cterm_color = "68",
|
|
name = "Dockerfile",
|
|
},
|
|
[".dockerignore"] = {
|
|
icon = "",
|
|
color = "#458ee6",
|
|
cterm_color = "68",
|
|
name = "Dockerfile",
|
|
},
|
|
["gemfile$"] = {
|
|
icon = "",
|
|
color = "#701516",
|
|
cterm_color = "52",
|
|
name = "Gemfile",
|
|
},
|
|
["license"] = {
|
|
icon = "",
|
|
color = "#d0bf41",
|
|
cterm_color = "185",
|
|
name = "License",
|
|
},
|
|
["r"] = {
|
|
icon = "",
|
|
color = "#358a5b",
|
|
cterm_color = "29",
|
|
name = "R",
|
|
},
|
|
["rmd"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Rmd",
|
|
},
|
|
["vagrantfile$"] = {
|
|
icon = "",
|
|
color = "#1563FF",
|
|
cterm_color = "27",
|
|
name = "Vagrantfile",
|
|
},
|
|
["_gvimrc"] = {
|
|
icon = "",
|
|
color = "#019833",
|
|
cterm_color = "28",
|
|
name = "Gvimrc",
|
|
},
|
|
["_vimrc"] = {
|
|
icon = "",
|
|
color = "#019833",
|
|
cterm_color = "28",
|
|
name = "Vimrc",
|
|
},
|
|
["package.json"] = {
|
|
icon = "",
|
|
color = "#e8274b",
|
|
name = "PackageJson",
|
|
},
|
|
["package-lock.json"] = {
|
|
icon = "",
|
|
color = "#7a0d21",
|
|
name = "PackageLockJson",
|
|
},
|
|
["node_modules"] = {
|
|
icon = "",
|
|
color = "#E8274B",
|
|
cterm_color = "197",
|
|
name = "NodeModules",
|
|
},
|
|
["favicon.ico"] = {
|
|
icon = "",
|
|
color = "#cbcb41",
|
|
cterm_color = "185",
|
|
name = "Favicon",
|
|
},
|
|
["gnumakefile"] = {
|
|
icon = "",
|
|
color = "#6d8086",
|
|
cterm_color = "66",
|
|
name = "Makefile",
|
|
},
|
|
["makefile"] = {
|
|
icon = "",
|
|
color = "#6d8086",
|
|
cterm_color = "66",
|
|
name = "Makefile",
|
|
},
|
|
["mix.lock"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "MixLock",
|
|
},
|
|
[".env"] = {
|
|
icon = "",
|
|
color = "#faf743",
|
|
cterm_color = "227",
|
|
name = "Env",
|
|
},
|
|
["gruntfile"] = {
|
|
icon = "",
|
|
color = "#e37933",
|
|
cterm_color = "166",
|
|
name = "Gruntfile",
|
|
},
|
|
["gulpfile"] = {
|
|
icon = "",
|
|
color = "#cc3e44",
|
|
cterm_color = "167",
|
|
name = "Gulpfile",
|
|
},
|
|
["webpack"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Webpack",
|
|
},
|
|
["rakefile"] = {
|
|
icon = "",
|
|
color = "#701516",
|
|
cterm_color = "52",
|
|
name = "Rakefile",
|
|
},
|
|
["procfile"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "Procfile",
|
|
},
|
|
["dockerfile"] = {
|
|
icon = "",
|
|
color = "#458ee6",
|
|
cterm_color = "68",
|
|
name = "Dockerfile",
|
|
},
|
|
["build"] = {
|
|
icon = "",
|
|
color = "#89e051",
|
|
cterm_color = "113",
|
|
name = "BazelBuild",
|
|
},
|
|
["workspace"] = {
|
|
icon = "",
|
|
color = "#89e051",
|
|
cterm_color = "113",
|
|
name = "BazelWorkspace",
|
|
},
|
|
["unlicense"] = {
|
|
icon = "",
|
|
color = "#d0bf41",
|
|
cterm_color = "185",
|
|
name = "License",
|
|
},
|
|
}
|
|
|
|
-- fuzzy match by extension
|
|
local icons_by_file_extension = {
|
|
["ai"] = {
|
|
icon = "",
|
|
color = "#cbcb41",
|
|
cterm_color = "185",
|
|
name = "Ai",
|
|
},
|
|
["awk"] = {
|
|
icon = "",
|
|
color = "#4d5a5e",
|
|
cterm_color = "240",
|
|
name = "Awk",
|
|
},
|
|
["bash"] = {
|
|
icon = "",
|
|
color = "#89e051",
|
|
cterm_color = "113",
|
|
name = "Bash",
|
|
},
|
|
["bat"] = {
|
|
icon = "",
|
|
color = "#C1F12E",
|
|
cterm_color = "191",
|
|
name = "Bat",
|
|
},
|
|
["bazel"] = {
|
|
icon = "",
|
|
color = "#89e051",
|
|
cterm_color = "113",
|
|
name = "Bazel",
|
|
},
|
|
["bzl"] = {
|
|
icon = "",
|
|
color = "#89e051",
|
|
cterm_color = "113",
|
|
name = "Bzl",
|
|
},
|
|
["bmp"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "Bmp",
|
|
},
|
|
["c"] = {
|
|
icon = "",
|
|
color = "#599eff",
|
|
cterm_color = "111",
|
|
name = "C",
|
|
},
|
|
["c++"] = {
|
|
icon = "",
|
|
color = "#f34b7d",
|
|
cterm_color = "204",
|
|
name = "CPlusPlus",
|
|
},
|
|
["cbl"] = {
|
|
icon = "⚙",
|
|
color = "#005ca5",
|
|
cterm_color = "25",
|
|
name = "Cobol",
|
|
},
|
|
["cc"] = {
|
|
icon = "",
|
|
color = "#f34b7d",
|
|
cterm_color = "204",
|
|
name = "CPlusPlus",
|
|
},
|
|
["cfg"] = {
|
|
icon = "",
|
|
color = "#ECECEC",
|
|
cterm_color = "255",
|
|
name = "Configuration",
|
|
},
|
|
["cjs"] = {
|
|
icon = "",
|
|
color = "#cbcb41",
|
|
cterm_color = "185",
|
|
name = "Cjs",
|
|
},
|
|
["clj"] = {
|
|
icon = "",
|
|
color = "#8dc149",
|
|
cterm_color = "113",
|
|
name = "Clojure",
|
|
},
|
|
["cljc"] = {
|
|
icon = "",
|
|
color = "#8dc149",
|
|
cterm_color = "113",
|
|
name = "ClojureC",
|
|
},
|
|
["cljs"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "ClojureJS",
|
|
},
|
|
["cljd"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "ClojureDart",
|
|
},
|
|
["cmake"] = {
|
|
icon = "",
|
|
color = "#6d8086",
|
|
cterm_color = "66",
|
|
name = "CMake",
|
|
},
|
|
["cob"] = {
|
|
icon = "⚙",
|
|
color = "#005ca5",
|
|
cterm_color = "25",
|
|
name = "Cobol",
|
|
},
|
|
["cobol"] = {
|
|
icon = "⚙",
|
|
color = "#005ca5",
|
|
cterm_color = "25",
|
|
name = "Cobol",
|
|
},
|
|
["coffee"] = {
|
|
icon = "",
|
|
color = "#cbcb41",
|
|
cterm_color = "185",
|
|
name = "Coffee",
|
|
},
|
|
["conf"] = {
|
|
icon = "",
|
|
color = "#6d8086",
|
|
cterm_color = "66",
|
|
name = "Conf",
|
|
},
|
|
["config.ru"] = {
|
|
icon = "",
|
|
color = "#701516",
|
|
cterm_color = "52",
|
|
name = "ConfigRu",
|
|
},
|
|
["cp"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Cp",
|
|
},
|
|
["cpp"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Cpp",
|
|
},
|
|
["cpy"] = {
|
|
icon = "⚙",
|
|
color = "#005ca5",
|
|
cterm_color = "25",
|
|
name = "Cobol",
|
|
},
|
|
["cr"] = {
|
|
icon = "",
|
|
color = "#c8c8c8",
|
|
cterm_color = "251",
|
|
name = "Crystal",
|
|
},
|
|
["cs"] = {
|
|
icon = "",
|
|
color = "#596706",
|
|
cterm_color = "58",
|
|
name = "Cs",
|
|
},
|
|
["csh"] = {
|
|
icon = "",
|
|
color = "#4d5a5e",
|
|
cterm_color = "240",
|
|
name = "Csh",
|
|
},
|
|
["cson"] = {
|
|
icon = "",
|
|
color = "#cbcb41",
|
|
cterm_color = "185",
|
|
name = "Cson",
|
|
},
|
|
["css"] = {
|
|
icon = "",
|
|
color = "#42a5f5",
|
|
cterm_color = "75",
|
|
name = "Css",
|
|
},
|
|
["csv"] = {
|
|
icon = "",
|
|
color = "#89e051",
|
|
cterm_color = "113",
|
|
name = "Csv",
|
|
},
|
|
["cxx"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Cxx",
|
|
},
|
|
["d"] = {
|
|
icon = "",
|
|
color = "#427819",
|
|
cterm_color = "28",
|
|
name = "D",
|
|
},
|
|
["dart"] = {
|
|
icon = "",
|
|
color = "#03589C",
|
|
cterm_color = "25",
|
|
name = "Dart",
|
|
},
|
|
["db"] = {
|
|
icon = "",
|
|
color = "#dad8d8",
|
|
cterm_color = "188",
|
|
name = "Db",
|
|
},
|
|
["desktop"] = {
|
|
icon = "",
|
|
color = "#563d7c",
|
|
cterm_color = "54",
|
|
name = "DesktopEntry",
|
|
},
|
|
["diff"] = {
|
|
icon = "",
|
|
color = "#41535b",
|
|
cterm_color = "239",
|
|
name = "Diff",
|
|
},
|
|
["doc"] = {
|
|
icon = "",
|
|
color = "#185abd",
|
|
cterm_color = "26",
|
|
name = "Doc",
|
|
},
|
|
["docx"] = {
|
|
icon = "",
|
|
color = "#185abd",
|
|
cterm_color = "26",
|
|
name = "Docx",
|
|
},
|
|
["drl"] = {
|
|
icon = "",
|
|
color = "#ffafaf",
|
|
cterm_color = "217",
|
|
name = "Drools",
|
|
},
|
|
["dropbox"] = {
|
|
icon = "",
|
|
color = "#0061FE",
|
|
cterm_color = "27",
|
|
name = "Dropbox",
|
|
},
|
|
["dump"] = {
|
|
icon = "",
|
|
color = "#dad8d8",
|
|
cterm_color = "188",
|
|
name = "Dump",
|
|
},
|
|
["edn"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Edn",
|
|
},
|
|
["eex"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "Eex",
|
|
},
|
|
["ejs"] = {
|
|
icon = "",
|
|
color = "#cbcb41",
|
|
cterm_color = "185",
|
|
name = "Ejs",
|
|
},
|
|
["elm"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Elm",
|
|
},
|
|
["epp"] = {
|
|
icon = "",
|
|
color = "#FFA61A",
|
|
name = "Epp",
|
|
},
|
|
["erb"] = {
|
|
icon = "",
|
|
color = "#701516",
|
|
cterm_color = "214",
|
|
name = "Erb",
|
|
},
|
|
["erl"] = {
|
|
icon = "",
|
|
color = "#B83998",
|
|
cterm_color = "163",
|
|
name = "Erl",
|
|
},
|
|
["ex"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "Ex",
|
|
},
|
|
["exs"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "Exs",
|
|
},
|
|
["f#"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Fsharp",
|
|
},
|
|
["f90"] = {
|
|
icon = "",
|
|
color = "#734f96",
|
|
cterm_color = "97",
|
|
name = "Fortran",
|
|
},
|
|
["fnl"] = {
|
|
color = "#fff3d7",
|
|
icon = "🌜",
|
|
cterm_color = "230",
|
|
name = "Fennel",
|
|
},
|
|
["fish"] = {
|
|
icon = "",
|
|
color = "#4d5a5e",
|
|
cterm_color = "240",
|
|
name = "Fish",
|
|
},
|
|
["fs"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Fs",
|
|
},
|
|
["fsi"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Fsi",
|
|
},
|
|
["fsscript"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Fsscript",
|
|
},
|
|
["fsx"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Fsx",
|
|
},
|
|
["gd"] = {
|
|
icon = "",
|
|
color = "#6d8086",
|
|
cterm_color = "66",
|
|
name = "GDScript",
|
|
},
|
|
["gemspec"] = {
|
|
icon = "",
|
|
color = "#701516",
|
|
cterm_color = "52",
|
|
name = "Gemspec",
|
|
},
|
|
["gif"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "Gif",
|
|
},
|
|
["git"] = {
|
|
icon = "",
|
|
color = "#F14C28",
|
|
cterm_color = "196",
|
|
name = "GitLogo",
|
|
},
|
|
["glb"] = {
|
|
icon = "",
|
|
color = "#FFB13B",
|
|
cterm_color = "214",
|
|
name = "BinaryGLTF",
|
|
},
|
|
["go"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Go",
|
|
},
|
|
["godot"] = {
|
|
icon = "",
|
|
color = "#6d8086",
|
|
cterm_color = "66",
|
|
name = "GodotProject",
|
|
},
|
|
["graphql"] = {
|
|
icon = "",
|
|
color = "#e535ab",
|
|
cterm_color = "199",
|
|
name = "GraphQL",
|
|
},
|
|
["gql"] = {
|
|
icon = "",
|
|
color = "#e535ab",
|
|
cterm_color = "199",
|
|
name = "GraphQL",
|
|
},
|
|
["h"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "H",
|
|
},
|
|
["haml"] = {
|
|
icon = "",
|
|
color = "#eaeae1",
|
|
cterm_color = "255",
|
|
name = "Haml",
|
|
},
|
|
["hbs"] = {
|
|
icon = "",
|
|
color = "#f0772b",
|
|
cterm_color = "202",
|
|
name = "Hbs",
|
|
},
|
|
["heex"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "Heex",
|
|
},
|
|
["hh"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "Hh",
|
|
},
|
|
["hpp"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "Hpp",
|
|
},
|
|
["hrl"] = {
|
|
icon = "",
|
|
color = "#B83998",
|
|
cterm_color = "163",
|
|
name = "Hrl",
|
|
},
|
|
["hs"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "Hs",
|
|
},
|
|
["htm"] = {
|
|
icon = "",
|
|
color = "#e34c26",
|
|
cterm_color = "196",
|
|
name = "Htm",
|
|
},
|
|
["html"] = {
|
|
icon = "",
|
|
color = "#e44d26",
|
|
cterm_color = "196",
|
|
name = "Html",
|
|
},
|
|
["hxx"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "Hxx",
|
|
},
|
|
["ico"] = {
|
|
icon = "",
|
|
color = "#cbcb41",
|
|
cterm_color = "185",
|
|
name = "Ico",
|
|
},
|
|
["import"] = {
|
|
icon = "",
|
|
color = "#ECECEC",
|
|
cterm_color = "255",
|
|
name = "ImportConfiguration",
|
|
},
|
|
["ini"] = {
|
|
icon = "",
|
|
color = "#6d8086",
|
|
cterm_color = "66",
|
|
name = "Ini",
|
|
},
|
|
["java"] = {
|
|
icon = "",
|
|
color = "#cc3e44",
|
|
cterm_color = "167",
|
|
name = "Java",
|
|
},
|
|
["jl"] = {
|
|
icon = "",
|
|
color = "#a270ba",
|
|
cterm_color = "133",
|
|
name = "Jl",
|
|
},
|
|
["jpeg"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "Jpeg",
|
|
},
|
|
["jpg"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "Jpg",
|
|
},
|
|
["js"] = {
|
|
icon = "",
|
|
color = "#cbcb41",
|
|
cterm_color = "185",
|
|
name = "Js",
|
|
},
|
|
["test.js"] = {
|
|
icon = "",
|
|
color = "#cbcb41",
|
|
cterm_color = "185",
|
|
name = "TestJs",
|
|
},
|
|
["spec.js"] = {
|
|
icon = "",
|
|
color = "#cbcb41",
|
|
cterm_color = "185",
|
|
name = "SpecJs",
|
|
},
|
|
["json"] = {
|
|
icon = "",
|
|
color = "#cbcb41",
|
|
cterm_color = "185",
|
|
name = "Json",
|
|
},
|
|
["json5"] = {
|
|
icon = "",
|
|
color = "#cbcb41",
|
|
cterm_color = "185",
|
|
name = "Json5",
|
|
},
|
|
["jsx"] = {
|
|
icon = "",
|
|
color = "#20c2e3",
|
|
cterm_color = "45",
|
|
name = "Jsx",
|
|
},
|
|
["test.jsx"] = {
|
|
icon = "",
|
|
color = "#20c2e3",
|
|
cterm_color = "45",
|
|
name = "JavaScriptReactTest",
|
|
},
|
|
["spec.jsx"] = {
|
|
icon = "",
|
|
color = "#20c2e3",
|
|
cterm_color = "45",
|
|
name = "JavaScriptReactSpec",
|
|
},
|
|
["ksh"] = {
|
|
icon = "",
|
|
color = "#4d5a5e",
|
|
cterm_color = "240",
|
|
name = "Ksh",
|
|
},
|
|
["kt"] = {
|
|
icon = "",
|
|
color = "#7F52FF",
|
|
cterm_color = "99",
|
|
name = "Kotlin",
|
|
},
|
|
["kts"] = {
|
|
icon = "",
|
|
color = "#7F52FF",
|
|
cterm_color = "99",
|
|
name = "KotlinScript",
|
|
},
|
|
["leex"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "Leex",
|
|
},
|
|
["less"] = {
|
|
icon = "",
|
|
color = "#563d7c",
|
|
cterm_color = "54",
|
|
name = "Less",
|
|
},
|
|
["lhs"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "Lhs",
|
|
},
|
|
["license"] = {
|
|
icon = "",
|
|
color = "#cbcb41",
|
|
cterm_color = "185",
|
|
name = "License",
|
|
},
|
|
["lua"] = {
|
|
icon = "",
|
|
color = "#51a0cf",
|
|
cterm_color = "74",
|
|
name = "Lua",
|
|
},
|
|
["luau"] = {
|
|
icon = "",
|
|
color = "#51a0cf",
|
|
cterm_color = "74",
|
|
name = "Luau",
|
|
},
|
|
["gnumakefile"] = {
|
|
icon = "",
|
|
color = "#6d8086",
|
|
cterm_color = "66",
|
|
name = "Makefile",
|
|
},
|
|
["makefile"] = {
|
|
icon = "",
|
|
color = "#6d8086",
|
|
cterm_color = "66",
|
|
name = "Makefile",
|
|
},
|
|
["mk"] = {
|
|
icon = "",
|
|
color = "#6d8086",
|
|
cterm_color = "66",
|
|
name = "Makefile",
|
|
},
|
|
["markdown"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Markdown",
|
|
},
|
|
["material"] = {
|
|
icon = "",
|
|
color = "#B83998",
|
|
cterm_color = "163",
|
|
name = "Material",
|
|
},
|
|
["md"] = {
|
|
icon = "",
|
|
color = "#ffffff",
|
|
cterm_color = "231",
|
|
name = "Md",
|
|
},
|
|
["mdx"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Mdx",
|
|
},
|
|
["mint"] = {
|
|
icon = "",
|
|
color = "#87c095",
|
|
cterm_color = "108",
|
|
name = "Mint",
|
|
},
|
|
["mjs"] = {
|
|
icon = "",
|
|
color = "#f1e05a",
|
|
cterm_color = "185",
|
|
name = "Mjs",
|
|
},
|
|
["ml"] = {
|
|
icon = "λ",
|
|
color = "#e37933",
|
|
cterm_color = "166",
|
|
name = "Ml",
|
|
},
|
|
["mli"] = {
|
|
icon = "λ",
|
|
color = "#e37933",
|
|
cterm_color = "166",
|
|
name = "Mli",
|
|
},
|
|
["mo"] = {
|
|
icon = "∞",
|
|
color = "#9772FB",
|
|
cterm_color = "135",
|
|
name = "Motoko",
|
|
},
|
|
["mustache"] = {
|
|
icon = "",
|
|
color = "#e37933",
|
|
cterm_color = "166",
|
|
name = "Mustache",
|
|
},
|
|
["nim"] = {
|
|
icon = "",
|
|
color = "#f3d400",
|
|
cterm_color = "220",
|
|
name = "Nim",
|
|
},
|
|
["nix"] = {
|
|
icon = "",
|
|
color = "#7ebae4",
|
|
cterm_color = "110",
|
|
name = "Nix",
|
|
},
|
|
["opus"] = {
|
|
icon = "",
|
|
color = "#F88A02",
|
|
cterm_color = "208",
|
|
name = "OPUS",
|
|
},
|
|
["org"] = {
|
|
icon = "",
|
|
color = "#77AA99",
|
|
cterm_color = "73",
|
|
name = "OrgMode",
|
|
},
|
|
["otf"] = {
|
|
icon = "",
|
|
color = "#ECECEC",
|
|
cterm_color = "255",
|
|
name = "OpenTypeFont",
|
|
},
|
|
["pck"] = {
|
|
icon = "",
|
|
color = "#6d8086",
|
|
cterm_color = "66",
|
|
name = "PackedResource",
|
|
},
|
|
["pdf"] = {
|
|
icon = "",
|
|
color = "#b30b00",
|
|
cterm_color = "124",
|
|
name = "Pdf",
|
|
},
|
|
["php"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "Php",
|
|
},
|
|
["pl"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Pl",
|
|
},
|
|
["pm"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Pm",
|
|
},
|
|
["png"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "Png",
|
|
},
|
|
["pp"] = {
|
|
icon = "",
|
|
color = "#FFA61A",
|
|
name = "Pp",
|
|
},
|
|
["ppt"] = {
|
|
icon = "",
|
|
color = "#cb4a32",
|
|
cterm_color = "214",
|
|
name = "Ppt",
|
|
},
|
|
["pro"] = {
|
|
icon = "",
|
|
color = "#e4b854",
|
|
cterm_color = "179",
|
|
name = "Prolog",
|
|
},
|
|
["ps1"] = {
|
|
icon = "",
|
|
color = "#4273ca",
|
|
cterm_color = "68",
|
|
name = "PsScriptfile",
|
|
},
|
|
["psd1"] = {
|
|
icon = "",
|
|
color = "#6975c4",
|
|
cterm_color = "68",
|
|
name = "PsManifestfile",
|
|
},
|
|
["psm1"] = {
|
|
icon = "",
|
|
color = "#6975c4",
|
|
cterm_color = "68",
|
|
name = "PsScriptModulefile",
|
|
},
|
|
["psb"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Psb",
|
|
},
|
|
["psd"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Psd",
|
|
},
|
|
["py"] = {
|
|
icon = "",
|
|
color = "#ffbc03",
|
|
cterm_color = "214",
|
|
name = "Py",
|
|
},
|
|
["pyc"] = {
|
|
icon = "",
|
|
color = "#ffe291",
|
|
cterm_color = "222",
|
|
name = "Pyc",
|
|
},
|
|
["pyd"] = {
|
|
icon = "",
|
|
color = "#ffe291",
|
|
cterm_color = "222",
|
|
name = "Pyd",
|
|
},
|
|
["pyo"] = {
|
|
icon = "",
|
|
color = "#ffe291",
|
|
cterm_color = "222",
|
|
name = "Pyo",
|
|
},
|
|
["query"] = {
|
|
icon = "",
|
|
color = "#90a850",
|
|
cterm_color = "107",
|
|
name = "Query",
|
|
},
|
|
["r"] = {
|
|
icon = "",
|
|
color = "#358a5b",
|
|
cterm_color = "29",
|
|
name = "R",
|
|
},
|
|
["rake"] = {
|
|
icon = "",
|
|
color = "#701516",
|
|
cterm_color = "52",
|
|
name = "Rake",
|
|
},
|
|
["rb"] = {
|
|
icon = "",
|
|
color = "#701516",
|
|
cterm_color = "52",
|
|
name = "Rb",
|
|
},
|
|
["res"] = {
|
|
icon = "",
|
|
color = "#cc3e44",
|
|
cterm_color = "167",
|
|
name = "ReScript",
|
|
},
|
|
["resi"] = {
|
|
icon = "",
|
|
color = "#f55385",
|
|
cterm_color = "204",
|
|
name = "ReScriptInterface",
|
|
},
|
|
["rlib"] = {
|
|
icon = "",
|
|
color = "#dea584",
|
|
cterm_color = "216",
|
|
name = "Rlib",
|
|
},
|
|
["rmd"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Rmd",
|
|
},
|
|
["rproj"] = {
|
|
icon = "",
|
|
color = "#358a5b",
|
|
cterm_color = "29",
|
|
name = "Rproj",
|
|
},
|
|
["rs"] = {
|
|
icon = "",
|
|
color = "#dea584",
|
|
cterm_color = "216",
|
|
name = "Rs",
|
|
},
|
|
["rss"] = {
|
|
icon = "",
|
|
color = "#FB9D3B",
|
|
cterm_color = "215",
|
|
name = "Rss",
|
|
},
|
|
["sass"] = {
|
|
icon = "",
|
|
color = "#f55385",
|
|
cterm_color = "204",
|
|
name = "Sass",
|
|
},
|
|
["sbt"] = {
|
|
icon = "",
|
|
color = "#cc3e44",
|
|
cterm_color = "167",
|
|
name = "sbt",
|
|
},
|
|
["scala"] = {
|
|
icon = "",
|
|
color = "#cc3e44",
|
|
cterm_color = "167",
|
|
name = "Scala",
|
|
},
|
|
["scm"] = {
|
|
icon = "",
|
|
color = "#000000",
|
|
cterm_color = "16",
|
|
name = "Scheme",
|
|
},
|
|
["scss"] = {
|
|
icon = "",
|
|
color = "#f55385",
|
|
cterm_color = "204",
|
|
name = "Scss",
|
|
},
|
|
["sh"] = {
|
|
icon = "",
|
|
color = "#4d5a5e",
|
|
cterm_color = "240",
|
|
name = "Sh",
|
|
},
|
|
["sig"] = {
|
|
icon = "λ",
|
|
color = "#e37933",
|
|
cterm_color = "166",
|
|
name = "Sig",
|
|
},
|
|
["slim"] = {
|
|
icon = "",
|
|
color = "#e34c26",
|
|
cterm_color = "196",
|
|
name = "Slim",
|
|
},
|
|
["sln"] = {
|
|
icon = "",
|
|
color = "#854CC7",
|
|
cterm_color = "98",
|
|
name = "Sln",
|
|
},
|
|
["sml"] = {
|
|
icon = "λ",
|
|
color = "#e37933",
|
|
cterm_color = "166",
|
|
name = "Sml",
|
|
},
|
|
["sql"] = {
|
|
icon = "",
|
|
color = "#dad8d8",
|
|
cterm_color = "188",
|
|
name = "Sql",
|
|
},
|
|
["sqlite"] = {
|
|
icon = "",
|
|
color = "#dad8d8",
|
|
cterm_color = "188",
|
|
name = "Sql",
|
|
},
|
|
["sqlite3"] = {
|
|
icon = "",
|
|
color = "#dad8d8",
|
|
cterm_color = "188",
|
|
name = "Sql",
|
|
},
|
|
["styl"] = {
|
|
icon = "",
|
|
color = "#8dc149",
|
|
cterm_color = "113",
|
|
name = "Styl",
|
|
},
|
|
["sublime"] = {
|
|
icon = "",
|
|
color = "#e37933",
|
|
cterm_color = "166",
|
|
name = "Suo",
|
|
},
|
|
["suo"] = {
|
|
icon = "",
|
|
color = "#854CC7",
|
|
cterm_color = "98",
|
|
name = "Suo",
|
|
},
|
|
["sv"] = {
|
|
icon = "",
|
|
color = "#019833",
|
|
cterm_color = "28",
|
|
name = "SystemVerilog",
|
|
},
|
|
["svelte"] = {
|
|
icon = "",
|
|
color = "#ff3e00",
|
|
cterm_color = "196",
|
|
name = "Svelte",
|
|
},
|
|
["svh"] = {
|
|
icon = "",
|
|
color = "#019833",
|
|
cterm_color = "28",
|
|
name = "SystemVerilog",
|
|
},
|
|
["svg"] = {
|
|
icon = "",
|
|
color = "#FFB13B",
|
|
cterm_color = "214",
|
|
name = "Svg",
|
|
},
|
|
["swift"] = {
|
|
icon = "",
|
|
color = "#e37933",
|
|
cterm_color = "166",
|
|
name = "Swift",
|
|
},
|
|
["t"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Tor",
|
|
},
|
|
["tbc"] = {
|
|
icon = "",
|
|
color = "#1e5cb3",
|
|
cterm_color = "25",
|
|
name = "Tcl",
|
|
},
|
|
["tcl"] = {
|
|
icon = "",
|
|
color = "#1e5cb3",
|
|
cterm_color = "25",
|
|
name = "Tcl",
|
|
},
|
|
["terminal"] = {
|
|
icon = "",
|
|
color = "#31B53E",
|
|
cterm_color = "34",
|
|
name = "Terminal",
|
|
},
|
|
["tex"] = {
|
|
icon = "",
|
|
color = "#3D6117",
|
|
cterm_color = "22",
|
|
name = "Tex",
|
|
},
|
|
["tf"] = {
|
|
icon = "",
|
|
color = "#5F43E9",
|
|
cterm_color = "93",
|
|
name = "Terraform",
|
|
},
|
|
["tfvars"] = {
|
|
icon = "",
|
|
color = "#5F43E9",
|
|
cterm_color = "93",
|
|
name = "TFVars",
|
|
},
|
|
["toml"] = {
|
|
icon = "",
|
|
color = "#6d8086",
|
|
cterm_color = "66",
|
|
name = "Toml",
|
|
},
|
|
["tres"] = {
|
|
icon = "",
|
|
color = "#cbcb41",
|
|
cterm_color = "185",
|
|
name = "TextResource",
|
|
},
|
|
["ts"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Ts",
|
|
},
|
|
["test.ts"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "TestTs",
|
|
},
|
|
["spec.ts"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "SpecTs",
|
|
},
|
|
["tscn"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "TextScene",
|
|
},
|
|
["tsx"] = {
|
|
icon = "",
|
|
color = "#1354bf",
|
|
cterm_color = "26",
|
|
name = "Tsx",
|
|
},
|
|
["test.tsx"] = {
|
|
icon = "",
|
|
color = "#1354bf",
|
|
cterm_color = "26",
|
|
name = "TypeScriptReactTest",
|
|
},
|
|
["spec.tsx"] = {
|
|
icon = "",
|
|
color = "#1354bf",
|
|
cterm_color = "26",
|
|
name = "TypeScriptReactSpec",
|
|
},
|
|
["twig"] = {
|
|
icon = "",
|
|
color = "#8dc149",
|
|
cterm_color = "113",
|
|
name = "Twig",
|
|
},
|
|
["txt"] = {
|
|
icon = "",
|
|
color = "#89e051",
|
|
cterm_color = "113",
|
|
name = "Txt",
|
|
},
|
|
["v"] = {
|
|
icon = "",
|
|
color = "#019833",
|
|
cterm_color = "28",
|
|
name = "Verilog",
|
|
},
|
|
["vala"] = {
|
|
icon = "",
|
|
color = "#7239b3",
|
|
cterm_color = "91",
|
|
name = "Vala",
|
|
},
|
|
["vh"] = {
|
|
icon = "",
|
|
color = "#019833",
|
|
cterm_color = "28",
|
|
name = "Verilog",
|
|
},
|
|
["vhd"] = {
|
|
icon = "",
|
|
color = "#019833",
|
|
cterm_color = "28",
|
|
name = "VHDL",
|
|
},
|
|
["vhdl"] = {
|
|
icon = "",
|
|
color = "#019833",
|
|
cterm_color = "28",
|
|
name = "VHDL",
|
|
},
|
|
["vim"] = {
|
|
icon = "",
|
|
color = "#019833",
|
|
cterm_color = "28",
|
|
name = "Vim",
|
|
},
|
|
["vue"] = {
|
|
icon = "",
|
|
color = "#8dc149",
|
|
cterm_color = "113",
|
|
name = "Vue",
|
|
},
|
|
["webmanifest"] = {
|
|
icon = "",
|
|
color = "#f1e05a",
|
|
cterm_color = "185",
|
|
name = "Webmanifest",
|
|
},
|
|
["webp"] = {
|
|
icon = "",
|
|
color = "#a074c4",
|
|
cterm_color = "140",
|
|
name = "Webp",
|
|
},
|
|
["webpack"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Webpack",
|
|
},
|
|
["xcplayground"] = {
|
|
icon = "",
|
|
color = "#e37933",
|
|
cterm_color = "166",
|
|
name = "XcPlayground",
|
|
},
|
|
["xls"] = {
|
|
icon = "",
|
|
color = "#207245",
|
|
cterm_color = "29",
|
|
name = "Xls",
|
|
},
|
|
["xlsx"] = {
|
|
icon = "",
|
|
color = "#207245",
|
|
cterm_color = "29",
|
|
name = "Xlsx",
|
|
},
|
|
["xml"] = {
|
|
icon = "",
|
|
color = "#e37933",
|
|
cterm_color = "166",
|
|
name = "Xml",
|
|
},
|
|
["xul"] = {
|
|
icon = "",
|
|
color = "#e37933",
|
|
cterm_color = "166",
|
|
name = "Xul",
|
|
},
|
|
["yaml"] = {
|
|
icon = "",
|
|
color = "#6d8086",
|
|
cterm_color = "66",
|
|
name = "Yaml",
|
|
},
|
|
["yml"] = {
|
|
icon = "",
|
|
color = "#6d8086",
|
|
cterm_color = "66",
|
|
name = "Yml",
|
|
},
|
|
["zig"] = {
|
|
icon = "",
|
|
color = "#f69a1b",
|
|
cterm_color = "172",
|
|
name = "Zig",
|
|
},
|
|
["zsh"] = {
|
|
icon = "",
|
|
color = "#89e051",
|
|
cterm_color = "113",
|
|
name = "Zsh",
|
|
},
|
|
["sol"] = {
|
|
icon = "",
|
|
color = "#519aba",
|
|
cterm_color = "74",
|
|
name = "Solidity",
|
|
},
|
|
["prisma"] = {
|
|
icon = "",
|
|
color = "#ffffff",
|
|
cterm_color = "231",
|
|
name = "Prisma",
|
|
},
|
|
["lock"] = {
|
|
icon = "",
|
|
color = "#bbbbbb",
|
|
cterm_color = "250",
|
|
name = "Lock",
|
|
},
|
|
["log"] = {
|
|
icon = "",
|
|
color = "#ffffff",
|
|
cterm_color = "231",
|
|
name = "Log",
|
|
},
|
|
["wasm"] = {
|
|
icon = "",
|
|
color = "#5c4cdb",
|
|
cterm_color = "62",
|
|
name = "Wasm",
|
|
},
|
|
["liquid"] = {
|
|
icon = "",
|
|
color = "#95BF47",
|
|
cterm_color = "106",
|
|
name = "Liquid",
|
|
},
|
|
}
|
|
|
|
-- When adding new icons, remember to add an entry to the `filetypes` table, if applicable.
|
|
local icons
|
|
|
|
-- Set the current icons tables, depending on the 'background' option.
|
|
local function refresh_icons()
|
|
local by_filename, by_file_extension
|
|
if vim.o.background == "light" then
|
|
by_filename = require("nvim-web-devicons-light").icons_by_filename
|
|
by_file_extension = require("nvim-web-devicons-light").icons_by_file_extension
|
|
else
|
|
by_filename = icons_by_filename
|
|
by_file_extension = icons_by_file_extension
|
|
end
|
|
icons = vim.tbl_extend("keep", {}, by_filename, by_file_extension)
|
|
end
|
|
|
|
-- Map of filetypes -> icon names
|
|
local filetypes = {
|
|
["bzl"] = "bzl",
|
|
["brewfile"] = "brewfile",
|
|
["commit"] = "commit_editmsg",
|
|
["copying"] = "copying",
|
|
["gemfile"] = "gemfile$",
|
|
["lesser"] = "copying.lesser",
|
|
["vagrantfile"] = "vagrantfile$",
|
|
["awk"] = "awk",
|
|
["bmp"] = "bmp",
|
|
["c"] = "c",
|
|
["cfg"] = "cfg",
|
|
["clojure"] = "clj",
|
|
["cmake"] = "cmake",
|
|
["cobol"] = "cobol",
|
|
["coffee"] = "coffee",
|
|
["conf"] = "conf",
|
|
["cp"] = "cp",
|
|
["cpp"] = "cpp",
|
|
["cr"] = "cr",
|
|
["cs"] = "cs",
|
|
["csh"] = "csh",
|
|
["cson"] = "cson",
|
|
["css"] = "css",
|
|
["csv"] = "csv",
|
|
["d"] = "d",
|
|
["dart"] = "dart",
|
|
["desktop"] = "desktop",
|
|
["diff"] = "diff",
|
|
["doc"] = "doc",
|
|
["docx"] = "docx",
|
|
["dockerfile"] = "dockerfile",
|
|
["dosbatch"] = "bat",
|
|
["dosini"] = "ini",
|
|
["drools"] = "drl",
|
|
["dropbox"] = "dropbox",
|
|
["dump"] = "dump",
|
|
["eex"] = "eex",
|
|
["ejs"] = "ejs",
|
|
["elixir"] = "ex",
|
|
["elm"] = "elm",
|
|
["epuppet"] = "epp",
|
|
["erlang"] = "erl",
|
|
["eruby"] = "erb",
|
|
["fennel"] = "fnl",
|
|
["fish"] = "fish",
|
|
["forth"] = "fs",
|
|
["fortran"] = "f90",
|
|
["fsharp"] = "f#",
|
|
["fsi"] = "fsi",
|
|
["fsscript"] = "fsscript",
|
|
["fsx"] = "fsx",
|
|
["gd"] = "gd",
|
|
["gif"] = "gif",
|
|
["git"] = "git",
|
|
["gitconfig"] = ".gitconfig",
|
|
["gitcommit"] = "commit_editmsg",
|
|
["gitignore"] = ".gitignore",
|
|
["gitattributes"] = ".gitattributes",
|
|
["glb"] = "glb",
|
|
["go"] = "go",
|
|
["godot"] = "godot",
|
|
["graphql"] = "graphql",
|
|
["gql"] = "gql",
|
|
["gruntfile"] = "gruntfile",
|
|
["gulpfile"] = "gulpfile",
|
|
["haml"] = "haml",
|
|
["haskell"] = "hs",
|
|
["hbs"] = "hbs",
|
|
["heex"] = "heex",
|
|
["html"] = "html",
|
|
["ico"] = "ico",
|
|
["idlang"] = "pro",
|
|
["import"] = "import",
|
|
["java"] = "java",
|
|
["javascript"] = "js",
|
|
["javascript.jsx"] = "jsx",
|
|
["javascriptreact"] = "jsx",
|
|
["jpeg"] = "jpeg",
|
|
["jpg"] = "jpg",
|
|
["json"] = "json",
|
|
["json5"] = "json5",
|
|
["julia"] = "jl",
|
|
["kotlin"] = "kt",
|
|
["leex"] = "leex",
|
|
["less"] = "less",
|
|
["liquid"] = "liquid",
|
|
["lhaskell"] = "lhs",
|
|
["license"] = "license",
|
|
["unlicense"] = "unlicense",
|
|
["log"] = "log",
|
|
["lock"] = "lock",
|
|
["lprolog"] = "sig",
|
|
["lua"] = "lua",
|
|
["make"] = "makefile",
|
|
["markdown"] = "markdown",
|
|
["material"] = "material",
|
|
["mdx"] = "mdx",
|
|
["mint"] = "mint",
|
|
["motoko"] = "mo",
|
|
["mustache"] = "mustache",
|
|
["nim"] = "nim",
|
|
["nix"] = "nix",
|
|
["node"] = "node_modules",
|
|
["ocaml"] = "ml",
|
|
["opus"] = "opus",
|
|
["otf"] = "otf",
|
|
["pck"] = "pck",
|
|
["pdf"] = "pdf",
|
|
["perl"] = "pl",
|
|
["php"] = "php",
|
|
["plaintex"] = "tex",
|
|
["png"] = "png",
|
|
["postscr"] = "ai",
|
|
["ppt"] = "ppt",
|
|
["prisma"] = "prisma",
|
|
["procfile"] = "procfile",
|
|
["prolog"] = "pro",
|
|
["ps1"] = "ps1",
|
|
["psd1"] = "psd1",
|
|
["psm1"] = "psm1",
|
|
["psb"] = "psb",
|
|
["psd"] = "psd",
|
|
["puppet"] = "pp",
|
|
["pyc"] = "pyc",
|
|
["pyd"] = "pyd",
|
|
["pyo"] = "pyo",
|
|
["python"] = "py",
|
|
["query"] = "query",
|
|
["r"] = "r",
|
|
["res"] = "rescript",
|
|
["resi"] = "rescript",
|
|
["rlib"] = "rlib",
|
|
["rmd"] = "rmd",
|
|
["rproj"] = "rproj",
|
|
["ruby"] = "rb",
|
|
["rust"] = "rs",
|
|
["sass"] = "sass",
|
|
["sbt"] = "sbt",
|
|
["scala"] = "scala",
|
|
["scheme"] = "scm",
|
|
["scss"] = "scss",
|
|
["sh"] = "sh",
|
|
["slim"] = "slim",
|
|
["sln"] = "sln",
|
|
["sml"] = "sml",
|
|
["solidity"] = "sol",
|
|
["sql"] = "sql",
|
|
["sqlite"] = "sqlite",
|
|
["sqlite3"] = "sqlite3",
|
|
["styl"] = "styl",
|
|
["sublime"] = "sublime",
|
|
["suo"] = "suo",
|
|
["svelte"] = "svelte",
|
|
["svg"] = "svg",
|
|
["swift"] = "swift",
|
|
["systemverilog"] = "sv",
|
|
["tads"] = "t",
|
|
["tcl"] = "tcl",
|
|
["terminal"] = "terminal",
|
|
["tex"] = "tex",
|
|
["toml"] = "toml",
|
|
["tres"] = "tres",
|
|
["tscn"] = "tscn",
|
|
["twig"] = "twig",
|
|
["txt"] = "txt",
|
|
["typescript"] = "ts",
|
|
["typescriptreact"] = "tsx",
|
|
["vala"] = "vala",
|
|
["verilog"] = "v",
|
|
["vhdl"] = "vhd",
|
|
["vim"] = "vim",
|
|
["vue"] = "vue",
|
|
["wasm"] = "wasm",
|
|
["webp"] = "webp",
|
|
["webpack"] = "webpack",
|
|
["xcplayground"] = "xcplayground",
|
|
["xls"] = "xls",
|
|
["xlsx"] = "xlsx",
|
|
["xml"] = "xml",
|
|
["yaml"] = "yaml",
|
|
["zig"] = "zig",
|
|
["zsh"] = "zsh",
|
|
}
|
|
|
|
local default_icon = {
|
|
icon = "",
|
|
color = "#6d8086",
|
|
cterm_color = "66",
|
|
name = "Default",
|
|
}
|
|
|
|
local global_opts = {
|
|
override = {},
|
|
strict = false,
|
|
default = false,
|
|
color_icons = true,
|
|
}
|
|
|
|
local function get_highlight_name(data)
|
|
if not global_opts.color_icons then
|
|
data = default_icon
|
|
end
|
|
|
|
return data.name and "DevIcon" .. data.name
|
|
end
|
|
|
|
local nvim_set_hl = vim.api.nvim_set_hl
|
|
local function set_up_highlight(icon_data)
|
|
if not global_opts.color_icons then
|
|
icon_data = default_icon
|
|
end
|
|
|
|
local hl_group = get_highlight_name(icon_data)
|
|
if hl_group and (icon_data.color or icon_data.cterm_color) then
|
|
nvim_set_hl(0, get_highlight_name(icon_data), {
|
|
fg = icon_data.color,
|
|
ctermfg = tonumber(icon_data.cterm_color),
|
|
})
|
|
end
|
|
end
|
|
|
|
local nvim_get_hl_by_name = vim.api.nvim_get_hl_by_name
|
|
local function highlight_exists(group)
|
|
if not group then
|
|
return
|
|
end
|
|
|
|
local ok, hl = pcall(nvim_get_hl_by_name, group, true)
|
|
return ok and not (hl or {})[true]
|
|
end
|
|
|
|
local function set_up_highlights(allow_override)
|
|
if not global_opts.color_icons then
|
|
set_up_highlight(default_icon)
|
|
return
|
|
end
|
|
|
|
for _, icon_data in pairs(icons) do
|
|
local has_color = icon_data.color or icon_data.cterm_color
|
|
local name_valid = icon_data.name
|
|
local defined_before = highlight_exists(get_highlight_name(icon_data))
|
|
if has_color and name_valid and (allow_override or not defined_before) then
|
|
set_up_highlight(icon_data)
|
|
end
|
|
end
|
|
end
|
|
|
|
local function get_highlight_foreground(icon_data)
|
|
if not global_opts.color_icons then
|
|
icon_data = default_icon
|
|
end
|
|
|
|
return string.format("#%06x", nvim_get_hl_by_name(get_highlight_name(icon_data), true).foreground)
|
|
end
|
|
|
|
local function get_highlight_ctermfg(icon_data)
|
|
if not global_opts.color_icons then
|
|
icon_data = default_icon
|
|
end
|
|
|
|
return nvim_get_hl_by_name(get_highlight_name(icon_data), false).foreground
|
|
end
|
|
|
|
local loaded = false
|
|
|
|
local if_nil = vim.F.if_nil
|
|
local function setup(opts)
|
|
if loaded then
|
|
return
|
|
end
|
|
|
|
loaded = true
|
|
|
|
local user_icons = opts or {}
|
|
|
|
if user_icons.default then
|
|
global_opts.default = true
|
|
end
|
|
|
|
if user_icons.strict then
|
|
global_opts.strict = true
|
|
end
|
|
|
|
global_opts.color_icons = if_nil(user_icons.color_icons, global_opts.color_icons)
|
|
|
|
if user_icons.override and user_icons.override.default_icon then
|
|
default_icon = user_icons.override.default_icon
|
|
end
|
|
|
|
local user_filename_icons = user_icons.override_by_filename
|
|
local user_file_ext_icons = user_icons.override_by_extension
|
|
|
|
icons =
|
|
vim.tbl_extend("force", icons, user_icons.override or {}, user_filename_icons or {}, user_file_ext_icons or {})
|
|
|
|
if user_filename_icons then
|
|
icons_by_filename = vim.tbl_extend("force", icons_by_filename, user_filename_icons)
|
|
end
|
|
if user_file_ext_icons then
|
|
icons_by_file_extension = vim.tbl_extend("force", icons_by_file_extension, user_file_ext_icons)
|
|
end
|
|
|
|
table.insert(icons, default_icon)
|
|
|
|
set_up_highlights()
|
|
|
|
vim.api.nvim_create_autocmd("ColorScheme", {
|
|
desc = "Re-apply icon colors after changing colorschemes",
|
|
group = vim.api.nvim_create_augroup("NvimWebDevicons", { clear = true }),
|
|
callback = set_up_highlights,
|
|
})
|
|
end
|
|
|
|
local function get_default_icon()
|
|
return default_icon
|
|
end
|
|
|
|
-- recursively iterate over each segment separated by '.' to parse extension with multiple dots in filename
|
|
local function iterate_multi_dotted_extension(name, icon_table)
|
|
if name == nil then
|
|
return nil
|
|
end
|
|
|
|
local compound_ext = name:match "%.(.*)"
|
|
local icon = icon_table[compound_ext]
|
|
if icon then
|
|
return icon
|
|
end
|
|
|
|
return iterate_multi_dotted_extension(compound_ext, icon_table)
|
|
end
|
|
|
|
local function get_icon_by_extension(name, ext, opts)
|
|
local is_strict = if_nil(opts and opts.strict, global_opts.strict)
|
|
local icon_table = is_strict and icons_by_file_extension or icons
|
|
|
|
if ext ~= nil then
|
|
return icon_table[ext]
|
|
end
|
|
|
|
return iterate_multi_dotted_extension(name, icon_table)
|
|
end
|
|
|
|
local function get_icon(name, ext, opts)
|
|
if type(name) == "string" then
|
|
name = name:lower()
|
|
end
|
|
|
|
if not loaded then
|
|
setup()
|
|
end
|
|
|
|
local has_default = if_nil(opts and opts.default, global_opts.default)
|
|
local is_strict = if_nil(opts and opts.strict, global_opts.strict)
|
|
local icon_data
|
|
if is_strict then
|
|
icon_data = icons_by_filename[name] or get_icon_by_extension(name, ext, opts) or (has_default and default_icon)
|
|
else
|
|
icon_data = icons[name] or get_icon_by_extension(name, ext, opts) or (has_default and default_icon)
|
|
end
|
|
|
|
if icon_data then
|
|
return icon_data.icon, get_highlight_name(icon_data)
|
|
end
|
|
end
|
|
|
|
local function get_icon_name_by_filetype(ft)
|
|
return filetypes[ft]
|
|
end
|
|
|
|
local function get_icon_by_filetype(ft, opts)
|
|
local name = get_icon_name_by_filetype(ft)
|
|
opts = opts or {}
|
|
opts.strict = false
|
|
return get_icon(name or "", nil, opts)
|
|
end
|
|
|
|
local function get_icon_colors(name, ext, opts)
|
|
if not loaded then
|
|
setup()
|
|
end
|
|
|
|
local has_default = if_nil(opts and opts.default, global_opts.default)
|
|
local is_strict = if_nil(opts and opts.strict, global_opts.strict)
|
|
local icon_data
|
|
if is_strict then
|
|
icon_data = icons_by_filename[name] or get_icon_by_extension(name, ext, opts) or (has_default and default_icon)
|
|
else
|
|
icon_data = icons[name] or get_icon_by_extension(name, ext, opts) or (has_default and default_icon)
|
|
end
|
|
|
|
if icon_data then
|
|
local color = icon_data.color
|
|
local cterm_color = icon_data.cterm_color
|
|
if icon_data.name and highlight_exists(get_highlight_name(icon_data)) then
|
|
color = get_highlight_foreground(icon_data) or color
|
|
cterm_color = get_highlight_ctermfg(icon_data) or cterm_color
|
|
end
|
|
return icon_data.icon, color, cterm_color
|
|
end
|
|
end
|
|
|
|
local function get_icon_colors_by_filetype(ft, opts)
|
|
local name = get_icon_name_by_filetype(ft)
|
|
return get_icon_colors(name or "", nil, opts)
|
|
end
|
|
|
|
local function get_icon_color(name, ext, opts)
|
|
local data = { get_icon_colors(name, ext, opts) }
|
|
return data[1], data[2]
|
|
end
|
|
|
|
local function get_icon_color_by_filetype(ft, opts)
|
|
local name = get_icon_name_by_filetype(ft)
|
|
opts = opts or {}
|
|
opts.strict = false
|
|
return get_icon_color(name or "", nil, opts)
|
|
end
|
|
|
|
local function get_icon_cterm_color(name, ext, opts)
|
|
local data = { get_icon_colors(name, ext, opts) }
|
|
return data[1], data[3]
|
|
end
|
|
|
|
local function get_icon_cterm_color_by_filetype(ft, opts)
|
|
local name = get_icon_name_by_filetype(ft)
|
|
return get_icon_cterm_color(name or "", nil, opts)
|
|
end
|
|
|
|
local function set_icon(user_icons)
|
|
icons = vim.tbl_extend("force", icons, user_icons or {})
|
|
if not global_opts.color_icons then
|
|
return
|
|
end
|
|
|
|
for _, icon_data in pairs(user_icons) do
|
|
set_up_highlight(icon_data)
|
|
end
|
|
end
|
|
|
|
local function set_default_icon(icon, color, cterm_color)
|
|
default_icon.icon = icon
|
|
default_icon.color = color
|
|
default_icon.cterm_color = cterm_color
|
|
set_up_highlight(default_icon)
|
|
end
|
|
|
|
-- Load the icons already, the loaded tables depend on the 'background' setting.
|
|
refresh_icons()
|
|
|
|
-- Change icon set on background change
|
|
vim.api.nvim_create_autocmd("OptionSet", {
|
|
pattern = "background",
|
|
callback = function()
|
|
refresh_icons()
|
|
set_up_highlights(true) -- Force update highlights
|
|
end,
|
|
})
|
|
|
|
return {
|
|
get_icon = get_icon,
|
|
get_icon_colors = get_icon_colors,
|
|
get_icon_color = get_icon_color,
|
|
get_icon_cterm_color = get_icon_cterm_color,
|
|
get_icon_name_by_filetype = get_icon_name_by_filetype,
|
|
get_icon_by_filetype = get_icon_by_filetype,
|
|
get_icon_colors_by_filetype = get_icon_colors_by_filetype,
|
|
get_icon_color_by_filetype = get_icon_color_by_filetype,
|
|
get_icon_cterm_color_by_filetype = get_icon_cterm_color_by_filetype,
|
|
set_icon = set_icon,
|
|
set_default_icon = set_default_icon,
|
|
get_default_icon = get_default_icon,
|
|
setup = setup,
|
|
has_loaded = function()
|
|
return loaded
|
|
end,
|
|
get_icons = function()
|
|
return icons
|
|
end,
|
|
set_up_highlights = set_up_highlights,
|
|
}
|