@@ -11,7 +11,6 @@ local M = {}
1111-- NOTE: When adding new icons, remember to add an entry to the `filetypes` table, if applicable.
1212local icons , icons_by_filename , icons_by_file_extension , icons_by_operating_system
1313local icons_by_desktop_environment , icons_by_window_manager
14- local user_icons
1514
1615local filetypes = require " nvim-web-devicons.filetypes"
1716
@@ -198,7 +197,39 @@ local function get_highlight_ctermfg(icon_data)
198197 end
199198end
200199
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+
202233 if user_icons .override and user_icons .override .default_icon then
203234 default_icon = user_icons .override .default_icon
204235 end
@@ -252,42 +283,6 @@ local function apply_user_icons()
252283 end
253284
254285 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 ()
291286
292287 M .set_up_highlights ()
293288
@@ -424,14 +419,14 @@ function M.get_icon_cterm_color_by_filetype(ft, opts)
424419 return M .get_icon_cterm_color (name or " " , nil , opts )
425420end
426421
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 {})
430425 if not global_opts .color_icons then
431426 return
432427 end
433428
434- for _ , icon_data in pairs (user_icons_opts ) do
429+ for _ , icon_data in pairs (user_icons ) do
435430 set_up_highlight (icon_data )
436431 end
437432end
@@ -452,7 +447,6 @@ refresh_icons()
452447
453448function M .refresh ()
454449 refresh_icons ()
455- apply_user_icons ()
456450 M .set_up_highlights (true )
457451end
458452
0 commit comments