From 9cbf4492faef57fc2f93f910c5cd43a761dbc918 Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Thu, 5 Mar 2026 11:11:54 -0500 Subject: [PATCH] feat: enable vim syntax fallback by default Problem: languages without a treesitter parser (COBOL, Fortran, etc.) got no syntax highlighting at all because `highlights.vim.enabled` defaulted to `false`. Solution: flip the default to `true`. The vim syntax path is already deferred via `vim.schedule` so it never blocks the first paint. --- doc/diffs.nvim.txt | 12 +++++++----- lua/diffs/init.lua | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/doc/diffs.nvim.txt b/doc/diffs.nvim.txt index 3bb5a09..6798173 100644 --- a/doc/diffs.nvim.txt +++ b/doc/diffs.nvim.txt @@ -89,7 +89,7 @@ Configuration is done via `vim.g.diffs`. Set this before the plugin loads: max_lines = 500, }, vim = { - enabled = false, + enabled = true, max_lines = 200, }, intra = { @@ -204,7 +204,7 @@ Configuration is done via `vim.g.diffs`. Set this before the plugin loads: See |diffs.TreesitterConfig| for fields. {vim} (table, default: see below) - Vim syntax highlighting options (experimental). + Vim syntax fallback highlighting options. See |diffs.VimConfig| for fields. {intra} (table, default: see below) @@ -269,13 +269,15 @@ Configuration is done via `vim.g.diffs`. Set this before the plugin loads: *diffs.VimConfig* Vim config fields: ~ - {enabled} (boolean, default: false) + {enabled} (boolean, default: true) Use vim syntax highlighting as fallback when no treesitter parser is available for a language. Creates a scratch buffer, sets the filetype, and queries |synID()| per character to extract - highlight groups. Slower than treesitter but - covers languages without a TS parser installed. + highlight groups. Deferred via |vim.schedule()| + so it never blocks the first paint. Slower than + treesitter but covers languages without a TS + parser installed (e.g., COBOL, Fortran). {max_lines} (integer, default: 200) Skip vim syntax highlighting for hunks larger than diff --git a/lua/diffs/init.lua b/lua/diffs/init.lua index d1cc7d2..0bfc373 100644 --- a/lua/diffs/init.lua +++ b/lua/diffs/init.lua @@ -124,7 +124,7 @@ local default_config = { max_lines = 500, }, vim = { - enabled = false, + enabled = true, max_lines = 200, }, intra = {