From 807ba6f6850bf7dbf86fd65299248f2d9cba7f75 Mon Sep 17 00:00:00 2001 From: zsugabubus Date: Sun, 12 Jan 2020 12:18:01 +0100 Subject: lexers: match whitespaces in text lexer Otherwise, show-{tabs,newlines,spaces} replacement characters are undistinguishable from normal text. --- lua/lexers/text.lua | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lua') diff --git a/lua/lexers/text.lua b/lua/lexers/text.lua index 4988d95..cc41bfa 100644 --- a/lua/lexers/text.lua +++ b/lua/lexers/text.lua @@ -1,6 +1,15 @@ -- Copyright 2006-2017 Mitchell mitchell.att.foicica.com. See LICENSE. -- Text LPeg lexer. +local l = require('lexer') + local M = {_NAME = 'text'} +-- Whitespace. +local ws = l.token(l.WHITESPACE, l.space^1) + +M._rules = { + {'whitespace', ws}, +} + return M -- cgit v1.2.3 From febe0528303f838fa9f346aa343fff0fe29f5ba3 Mon Sep 17 00:00:00 2001 From: zsugabubus Date: Sun, 12 Jan 2020 12:27:39 +0100 Subject: filetype: try text lexer as a last resort --- lua/plugins/filetype.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'lua') diff --git a/lua/plugins/filetype.lua b/lua/plugins/filetype.lua index 35912f6..c7fad69 100644 --- a/lua/plugins/filetype.lua +++ b/lua/plugins/filetype.lua @@ -385,6 +385,10 @@ vis.ftdetect.filetypes = { texinfo = { ext = { "%.texi$" }, }, + text = { + ext = { "%.txt$" }, + mime = { "text/plain" }, + }, toml = { ext = { "%.toml$" }, }, @@ -497,6 +501,12 @@ vis.events.subscribe(vis.events.WIN_OPEN, function(win) end end + -- try text lexer as a last resort + if (mime or 'text/plain'):match('^text/.+$') then + set_filetype('text', vis.ftdetect.filetypes.text) + return + end + win:set_syntax(nil) end) -- cgit v1.2.3