fix(defaults): 'guifont' "monospace" fallback, trim spaces #37930

Problem:
Some UI clients break if space follows the comma in 'guifont' items.
Also the new 'guifont' default may cause problems if none of the fonts are found.

Solution:
Remove trailing whitespace. 
Add a "monospace" fallback which `fontconfig` can resolve on *nix systems.
This commit is contained in:
Rahul Yedida
2026-02-18 01:57:59 -05:00
committed by GitHub
parent 456fb08542
commit 9492df027d
4 changed files with 13 additions and 6 deletions

View File

@@ -3344,7 +3344,10 @@ A jump table for the options with a short description can be found at |Q_op|.
< <
*'guifont'* *'gfn'* *E235* *E596* *'guifont'* *'gfn'* *E235* *E596*
'guifont' 'gfn' string (default "Source Code Pro, DejaVu Sans Mono, Courier New") 'guifont' 'gfn' string (default (MS-Windows) "Cascadia Code,Cascadia Mono,Consolas,Courier New,monospace"
(Mac) "SF Mono,Menlo,Monaco,Courier New,monospace"
(Linux) "Source Code Pro,DejaVu Sans Mono,Courier New,monospace"
(others) "DejaVu Sans Mono,Courier New,monospace")
global global
This is a list of fonts which will be used for the GUI version of Vim. This is a list of fonts which will be used for the GUI version of Vim.
In its simplest form the value is just one font name. When In its simplest form the value is just one font name. When

View File

@@ -3237,7 +3237,7 @@ vim.go.gcr = vim.go.guicursor
--- ---
--- ---
--- @type string --- @type string
vim.o.guifont = "Source Code Pro, DejaVu Sans Mono, Courier New" vim.o.guifont = "Source Code Pro,DejaVu Sans Mono,Courier New,monospace"
vim.o.gfn = vim.o.guifont vim.o.gfn = vim.o.guifont
vim.go.guifont = vim.o.guifont vim.go.guifont = vim.o.guifont
vim.go.gfn = vim.go.guifont vim.go.gfn = vim.go.guifont

View File

@@ -34,13 +34,13 @@
// Default values for 'guifont' // Default values for 'guifont'
#ifdef MSWIN #ifdef MSWIN
# define DFLT_GFN "Cascadia Code, Cascadia Mono, Consolas, Courier New" # define DFLT_GFN "Cascadia Code,Cascadia Mono,Consolas,Courier New,monospace"
#elif defined(__APPLE__) #elif defined(__APPLE__)
# define DFLT_GFN "SF Mono, Menlo, Monaco, Courier New" # define DFLT_GFN "SF Mono,Menlo,Monaco,Courier New,monospace"
#elif defined(__linux__) #elif defined(__linux__)
# define DFLT_GFN "Source Code Pro, DejaVu Sans Mono, Courier New" # define DFLT_GFN "Source Code Pro,DejaVu Sans Mono,Courier New,monospace"
#else #else
# define DFLT_GFN "DejaVu Sans Mono, Courier New" # define DFLT_GFN "DejaVu Sans Mono,Courier New,monospace"
#endif #endif
#define DFLT_GREPFORMAT "%f:%l:%m,%f:%l%m,%f %l%m" #define DFLT_GREPFORMAT "%f:%l:%m,%f:%l%m,%f %l%m"

View File

@@ -3998,6 +3998,10 @@ local options = {
abbreviation = 'gfn', abbreviation = 'gfn',
defaults = { defaults = {
if_true = macros('DFLT_GFN', 'string'), if_true = macros('DFLT_GFN', 'string'),
doc = [[(MS-Windows) "Cascadia Code,Cascadia Mono,Consolas,Courier New,monospace"
(Mac) "SF Mono,Menlo,Monaco,Courier New,monospace"
(Linux) "Source Code Pro,DejaVu Sans Mono,Courier New,monospace"
(others) "DejaVu Sans Mono,Courier New,monospace"]],
}, },
desc = [=[ desc = [=[
This is a list of fonts which will be used for the GUI version of Vim. This is a list of fonts which will be used for the GUI version of Vim.