From 1f7304b84681f3afae55d762e28f1ec6efe375a6 Mon Sep 17 00:00:00 2001 From: Tommy Allen Date: Thu, 28 Jul 2016 14:14:53 -0400 Subject: mouse.c: Adjust clicked column if chars are concealed (#5087) syntax.c: Added syn_get_concealed_id() tests: Added tests for mouse clicks on concealed text. --- src/nvim/syntax.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/nvim/syntax.c') diff --git a/src/nvim/syntax.c b/src/nvim/syntax.c index 27855184df..3215f7ea14 100644 --- a/src/nvim/syntax.c +++ b/src/nvim/syntax.c @@ -5661,6 +5661,24 @@ int get_syntax_info(int *seqnrp) return current_flags; } + +/// Get the sequence number of the concealed file position. +/// +/// @return seqnr if the file position is concealed, 0 otherwise. +int syn_get_concealed_id(win_T *wp, linenr_T lnum, colnr_T col) +{ + int seqnr; + int syntax_flags; + + (void)syn_get_id(wp, lnum, col, false, NULL, false); + syntax_flags = get_syntax_info(&seqnr); + + if (syntax_flags & HL_CONCEAL) { + return seqnr; + } + return 0; +} + /* * Return conceal substitution character */ -- cgit