vis

a vi-like editor based on Plan 9's structural regular expressions

git clone https://9o.is/git/vis.git

commit a792ac5260dc21fd7e730e8d6f0322d2ee4d6592
parent 4b11111d5487b30a7f6b6a3c96cf68944073036a
Author: Marc André Tanner <mat@brain-dump.org>
Date:   Thu, 23 Feb 2017 08:28:22 +0100

text-object: remove text_object_number

This was only used by the number increment/decrement action.
The same functionality (and more) can be implemented in lua
using something like:

 vis:textobject_new("in", function(win, pos)
  return win.file:match_at(vis.lexers.integer + vis.lexers.float, pos, 64)
 end, "Number text object")

Diffstat:
Mtext-objects.c | 23-----------------------
Mtext-objects.h | 2--
2 files changed, 0 insertions(+), 25 deletions(-)

diff --git a/text-objects.c b/text-objects.c @@ -267,29 +267,6 @@ Filerange text_object_range(Text *txt, size_t pos, int (*isboundary)(int)) { return text_range_new(start, it.pos); } -static int is_number(int c) { - return !(c == '-' || c == 'x' || c == 'X' || - ('0' <= c && c <= '9') || - ('a' <= c && c <= 'f') || ('A' <= c && c <= 'F')); -} - -Filerange text_object_number(Text *txt, size_t pos) { - char *buf, *err = NULL; - Filerange r = text_object_range(txt, pos, is_number); - if (!text_range_valid(&r)) - return r; - if (!(buf = text_bytes_alloc0(txt, r.start, text_range_size(&r)))) - return text_range_empty(); - errno = 0; - (void)strtoll(buf, &err, 0); - if (errno || err == buf) - r = text_range_empty(); - else - r.end = r.start + (err - buf); - free(buf); - return r; -} - static int is_filename_boundary(int c) { switch (c) { case ';': case ':': case '|': diff --git a/text-objects.h b/text-objects.h @@ -41,8 +41,6 @@ Filerange text_object_single_quote(Text*, size_t pos); Filerange text_object_backtick(Text*, size_t pos); /* text object delimited by arbitrary chars for which isboundary returns non-zero */ Filerange text_object_range(Text*, size_t pos, int (*isboundary)(int)); -/* a number in either decimal, hex or octal format */ -Filerange text_object_number(Text*, size_t pos); Filerange text_object_filename(Text*, size_t pos); /* match a search term in either forward or backward direction */ Filerange text_object_search_forward(Text*, size_t pos, Regex*);