@@ -11,7 +11,6 @@ local M = {}
11
11
-- NOTE: When adding new icons, remember to add an entry to the `filetypes` table, if applicable.
12
12
local icons , icons_by_filename , icons_by_file_extension , icons_by_operating_system
13
13
local icons_by_desktop_environment , icons_by_window_manager
14
- local user_icons
15
14
16
15
local filetypes = require " nvim-web-devicons.filetypes"
17
16
@@ -198,7 +197,39 @@ local function get_highlight_ctermfg(icon_data)
198
197
end
199
198
end
200
199
201
- local function apply_user_icons ()
200
+ local loaded = false
201
+
202
+ function M .has_loaded ()
203
+ return loaded
204
+ end
205
+
206
+ local if_nil = vim .F .if_nil
207
+ function M .setup (opts )
208
+ if loaded then
209
+ return
210
+ end
211
+
212
+ loaded = true
213
+
214
+ local user_icons = opts or {}
215
+
216
+ if user_icons .default then
217
+ global_opts .default = true
218
+ end
219
+
220
+ if user_icons .strict then
221
+ global_opts .strict = true
222
+ end
223
+
224
+ global_opts .color_icons = if_nil (user_icons .color_icons , global_opts .color_icons )
225
+
226
+ if user_icons .variant == " light" or user_icons .variant == " dark" then
227
+ global_opts .variant = user_icons .variant
228
+
229
+ -- Reload the icons after setting variant option
230
+ refresh_icons ()
231
+ end
232
+
202
233
if user_icons .override and user_icons .override .default_icon then
203
234
default_icon = user_icons .override .default_icon
204
235
end
@@ -252,42 +283,6 @@ local function apply_user_icons()
252
283
end
253
284
254
285
icons [1 ] = default_icon
255
- end
256
-
257
- local loaded = false
258
-
259
- function M .has_loaded ()
260
- return loaded
261
- end
262
-
263
- local if_nil = vim .F .if_nil
264
- function M .setup (opts )
265
- if loaded then
266
- return
267
- end
268
-
269
- loaded = true
270
-
271
- user_icons = opts or {}
272
-
273
- if user_icons .default then
274
- global_opts .default = true
275
- end
276
-
277
- if user_icons .strict then
278
- global_opts .strict = true
279
- end
280
-
281
- global_opts .color_icons = if_nil (user_icons .color_icons , global_opts .color_icons )
282
-
283
- if user_icons .variant == " light" or user_icons .variant == " dark" then
284
- global_opts .variant = user_icons .variant
285
-
286
- -- Reload the icons after setting variant option
287
- refresh_icons ()
288
- end
289
-
290
- apply_user_icons ()
291
286
292
287
M .set_up_highlights ()
293
288
@@ -424,14 +419,14 @@ function M.get_icon_cterm_color_by_filetype(ft, opts)
424
419
return M .get_icon_cterm_color (name or " " , nil , opts )
425
420
end
426
421
427
- function M .set_icon (user_icons_opts )
428
- icons = vim .tbl_extend (" force" , icons , user_icons_opts or {})
429
- global_opts .override = vim .tbl_extend (" force" , global_opts .override , user_icons_opts or {})
422
+ function M .set_icon (user_icons )
423
+ icons = vim .tbl_extend (" force" , icons , user_icons or {})
424
+ global_opts .override = vim .tbl_extend (" force" , global_opts .override , user_icons or {})
430
425
if not global_opts .color_icons then
431
426
return
432
427
end
433
428
434
- for _ , icon_data in pairs (user_icons_opts ) do
429
+ for _ , icon_data in pairs (user_icons ) do
435
430
set_up_highlight (icon_data )
436
431
end
437
432
end
@@ -452,7 +447,6 @@ refresh_icons()
452
447
453
448
function M .refresh ()
454
449
refresh_icons ()
455
- apply_user_icons ()
456
450
M .set_up_highlights (true )
457
451
end
458
452
0 commit comments