Skip to content

Commit a87004a

Browse files
authored
Merge pull request #354 from mhinz/fix-sigils
Fix highlighting of sigils as function arguments
2 parents 523978f + b0caf18 commit a87004a

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

spec/syntax/sigil_spec.rb

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@
33
require 'spec_helper'
44

55
describe 'Sigil syntax' do
6+
it 'as function argument' do
7+
expect('def f(~s(")), do: true').to include_elixir_syntax('elixirSigilDelimiter', '\~s(')
8+
expect('def f(~s(")), do: true').to include_elixir_syntax('elixirSigil', '"')
9+
expect("def f(~s(')), do: true").to include_elixir_syntax('elixirSigil', "'")
10+
expect('def f(~s(")), do: true').not_to include_elixir_syntax('elixirSigilDelimiter', '"')
11+
end
12+
613
describe 'upper case' do
714
it 'string' do
815
expect('~S(string)').to include_elixir_syntax('elixirSigilDelimiter', 'S')
@@ -24,7 +31,7 @@
2431
expect('~W(list of words)').to include_elixir_syntax('elixirSigil', 'list')
2532
end
2633

27-
it 'delimited with parans' do
34+
it 'delimited with parenthesis' do
2835
expect('~S(foo bar)').to include_elixir_syntax('elixirSigilDelimiter', '(')
2936
expect('~S(foo bar)').to include_elixir_syntax('elixirSigilDelimiter', ')')
3037
end
@@ -63,7 +70,7 @@
6370
expect('~S(foo #{bar})').not_to include_elixir_syntax('elixirInterpolation', 'bar')
6471
end
6572

66-
it 'without escaped parans' do
73+
it 'without escaped parenthesis' do
6774
expect('~S(\( )').not_to include_elixir_syntax('elixirRegexEscapePunctuation', '( ')
6875
end
6976
end
@@ -97,7 +104,7 @@
97104
expect('~s(foo #{bar})').to include_elixir_syntax('elixirInterpolation', 'bar')
98105
end
99106

100-
it 'with escaped parans' do
107+
it 'with escaped parenthesis' do
101108
expect('~s(\( )').to include_elixir_syntax('elixirRegexEscapePunctuation', '( ')
102109
end
103110

syntax/elixir.vim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ syn region elixirBlock matchgroup=elixirBlockDefinition start="\<do
9595
syn region elixirElseBlock matchgroup=elixirBlockDefinition start="\<else\>:\@!" end="\<end\>" contains=ALLBUT,elixirKernelFunction,@elixirNotTop fold
9696
syn region elixirAnonymousFunction matchgroup=elixirBlockDefinition start="\<fn\>" end="\<end\>" contains=ALLBUT,elixirKernelFunction,@elixirNotTop fold
9797

98-
syn region elixirArguments start="(" end=")" contained contains=elixirOperator,elixirAtom,elixirPseudoVariable,elixirAlias,elixirBoolean,elixirVariable,elixirUnusedVariable,elixirNumber,elixirDocString,elixirAtomInterpolated,elixirRegex,elixirString,elixirStringDelimiter,elixirRegexDelimiter,elixirInterpolationDelimiter,elixirSigilDelimiter,elixirAnonymousFunction
98+
syn region elixirArguments start="(" end=")" contained contains=elixirOperator,elixirAtom,elixirPseudoVariable,elixirAlias,elixirBoolean,elixirVariable,elixirUnusedVariable,elixirNumber,elixirDocString,elixirAtomInterpolated,elixirRegex,elixirString,elixirStringDelimiter,elixirRegexDelimiter,elixirInterpolationDelimiter,elixirSigil,elixirAnonymousFunction
9999

100100
syn match elixirDelimEscape "\\[(<{\[)>}\]/\"'|]" transparent display contained contains=NONE
101101

0 commit comments

Comments
 (0)