Skip to content

Commit 94c8cc6

Browse files
committed
Updated requirements to Vim 9.1
1 parent 2409542 commit 94c8cc6

File tree

2 files changed

+18
-8
lines changed

2 files changed

+18
-8
lines changed

.github/workflows/unittests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
matrix:
99
vim:
1010
- nightly
11-
- v9.0.0000
11+
- v9.1.0000
1212
os: [ubuntu-latest, macos-latest]
1313

1414
steps:

lib/utils.vim

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,25 @@ enddef
6464

6565
export def Surround(open_delimiter: string,
6666
close_delimiter: string,
67-
text_object: string = '',
68-
keep_even: bool = false)
67+
all_open_delimiters: dict<string>,
68+
all_close_delimiters: dict<string>,
69+
text_object: string = '')
6970
# Usage:
7071
# Select text and hit <leader> + e.g. parenthesis
7172
#
73+
# open_delimiter and close_delimiter are keys for the respective
74+
# dictionaries
75+
# keep_even may not be needed...
7276
# Note that Visual Selections and Text Objects are cousins
7377
#
74-
if !empty(IsInRange(open_delimiter, close_delimiter))
75-
RemoveSurrounding(open_delimiter, close_delimiter)
78+
79+
var open_string = open_delimiter
80+
var open_regex = all_close_delimiters[open_delimiter]
81+
var close_string = close_delimiter
82+
var close_regex = all_close_delimiters[close_delimiter]
83+
84+
if !empty(IsInRange(open_regex, close_regex))
85+
RemoveSurrounding(open_regex, close_regex)
7686
else
7787
# Set marks
7888
var A_mark = "'<"
@@ -116,8 +126,8 @@ export def Surround(open_delimiter: string,
116126
# so that all the styles are visible
117127

118128
# Check if the cursor is already in a range of another pair of delimiters
119-
var open_delimiters = ['*', '**', '~~', '`']
120-
var close_delimiters = ['*', '**', '~~', '`']
129+
var open_delimiters = values(all_open_delimiters)
130+
var close_delimiters = values(all_close_delimiters)
121131
var old_right_delimiter = ''
122132
var old_left_delimiter = ''
123133

@@ -373,9 +383,9 @@ enddef
373383

374384
export def IsInRange(open_delimiter: string,
375385
close_delimiter: string): list<list<number>>
386+
# Arguments must be regex.
376387
# Return the range of the delimiters if the cursor is within such a range,
377388
# otherwise return an empty list.
378-
# Arguments must be regex.
379389
var interval = []
380390

381391
# OBS! Ranges are open-intervals!

0 commit comments

Comments
 (0)