Allow bang in command names
authorGreg Hurrell <greg@hurrell.net>
Thu, 4 May 2017 16:09:22 +0000 (09:09 -0700)
committerGreg Hurrell <greg@hurrell.net>
Thu, 4 May 2017 16:09:22 +0000 (09:09 -0700)
Maybe this should be stricter, only allowing it at the end.

lib/Text/Docvim/Parse.hs
tests/fixtures/parser/command.golden
tests/fixtures/parser/command.vim

index 75514272764a65421c1b52c8adb06526d67ce509..6930e1abd42ba5eeac5744ad7ea8cba09c1d96be 100644 (file)
@@ -450,7 +450,7 @@ annotation = char '@' *> annotationName
              ]
 
     command'          = string "command" >> ws >> CommandAnnotation <$> commandName <*> commandParameters
-    commandName       = char ':' *> many1 alphaNum <* optional ws
+    commandName       = char ':' *> many1 (alphaNum <|> char '!') <* optional ws
     commandParameters = optionMaybe $ many1 (noneOf "\n")
 
     function'         = string "function" >> ws >> FunctionAnnotation <$> word <* optional ws
index b3b75e96666b5a69e9e738ae59784c210aacb103..2235d6c3a0fa9f21a8e8b4addbc7746798e0bd65 100644 (file)
@@ -14,6 +14,18 @@ Project
       , Whitespace
       , Plaintext "one."
       ]
+  , CommandAnnotation "Ack!" (Just "{pattern} {options}")
+  , Paragraph
+      [ Plaintext "Going"
+      , Whitespace
+      , Plaintext "out"
+      , Whitespace
+      , Plaintext "with"
+      , Whitespace
+      , Plaintext "a"
+      , Whitespace
+      , Plaintext "bang."
+      ]
   , Paragraph
       [ Plaintext "TODO:"
       , Whitespace
index ea2e5e7e144d7e2de4f2c1d4a345a828dca5de4a..9ecc42881aab0c70a9bd38ee5f3ae6d610aa6246 100644 (file)
@@ -7,4 +7,8 @@
 "
 " No params on that one.
 "
+" @command :Ack! {pattern} {options}
+"
+" Going out with a bang.
+"
 " TODO: Infer info based on following VimL nodes.