vis
a vi-like editor based on Plan 9's structural regular expressions
git clone https://9o.is/git/vis.git
commit 00f4fdc60cbbe6d0f24c300d36b7c9d1ecf527d5 parent cbd87aaf70b48c58531707ad20b145a8fe621c05 Author: Marc André Tanner <mat@brain-dump.org> Date: Sat, 30 Aug 2014 08:52:50 +0200 Add support for backticks to movement and text object Diffstat:
| M | text-motions.c | | | 1 | + |
| M | text-objects.c | | | 3 | ++- |
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/text-motions.c b/text-motions.c @@ -243,6 +243,7 @@ size_t text_bracket_match(Text *txt, size_t pos) { case '<': search = '>'; direction = 1; break; case '>': search = '<'; direction = -1; break; case '"': + case '`': case '\'': { char special[] = " \n)}]>.,"; search = current; diff --git a/text-objects.c b/text-objects.c @@ -65,6 +65,7 @@ Filerange text_object_bracket(Text *txt, size_t pos, char type) { case '[': case ']': open = '['; close = ']'; break; case '<': case '>': open = '<'; close = '>'; break; case '"': open = '"'; close = '"'; break; + case '`': open = '`'; close = '`'; break; case '\'': open = '\''; close = '\''; break; default: return empty; } @@ -72,7 +73,7 @@ Filerange text_object_bracket(Text *txt, size_t pos, char type) { Filerange r = empty; Iterator it = text_iterator_get(txt, pos); - if (open == close && text_iterator_byte_get(&it, &c) && (c == '"' || c == '\'')) { + if (open == close && text_iterator_byte_get(&it, &c) && (c == '"' || c == '`' || c == '\'')) { size_t match = text_bracket_match(txt, pos); r.start = MIN(pos, match) + 1; r.end = MAX(pos, match);