Skip to content

Commit 351a0e7

Browse files
Fix markup highlighter to behave same as Emacs with spaces around markers
1 parent e894f42 commit 351a0e7

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

lua/orgmode/colors/markup_highlighter.lua

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,17 @@ local function is_valid_markup_range(match, _, source, _)
108108
return false
109109
end
110110

111-
local start_text = get_node_text(start_node, source, -1)
112-
local end_text = get_node_text(end_node, source, 0, 1)
111+
local start_text = get_node_text(start_node, source, -1, 1)
112+
local start_len = start_text:len()
113113

114-
local is_valid_start = start_text:len() < 2 or vim.tbl_contains(valid_pre_marker_chars, start_text:sub(1, 1))
115-
local is_valid_end = end_text:len() < 2 or vim.tbl_contains(valid_post_marker_chars, end_text:sub(2, 2))
116-
return is_valid_start and is_valid_end
114+
local is_valid_start = (start_len < 3 or vim.tbl_contains(valid_pre_marker_chars, start_text:sub(1, 1)))
115+
and start_text:sub(start_len, start_len) ~= ' '
116+
if not is_valid_start then
117+
return false
118+
end
119+
local end_text = get_node_text(end_node, source, -1, 1)
120+
return (end_text:len() < 3 or vim.tbl_contains(valid_post_marker_chars, end_text:sub(3, 3)))
121+
and end_text:sub(1, 1) ~= ' '
117122
end
118123

119124
local function is_valid_hyperlink_range(match, _, source, _)

0 commit comments

Comments
 (0)