Commit Graph

56 Commits

Author SHA1 Message Date
Harlan 5e02d2a877 Implement #warning and #error (#14048)
* Implement #warning and #error

* Fix #warning/#error in switch statements

* Fix AST printing for #warning/#error

* Add to test case

* Add extra handling to ParseDeclPoundDiagnostic

* fix dumping

* Consume the right paren even in the failure case

* Diagnose extra tokens on the same line after a diagnostic directive
2018-02-03 18:07:05 -05:00
Brian Heim c95598db55 Vim plugin: expand highlighting coverage (#11444)
* vim-syntax: fix highlighting for indirect case/enum

without skipwhite, `indirect enum` never gets highlighted. this
commit also adds the `indirect case` multiword keyword.

* vim-syntax: allow whitespace before type parameters

Added skipwhite to multiple match groups so that whitespace can be used
before type parameters (`Type <Param>`). This matches Xcode's behavior.

* vim-syntax: update last change line

* vim-syntax: remove indirect case from multiword type def group
2017-09-19 10:06:03 -04:00
Max Moiseev 793b86c056 [vim] Add 'open' as a modifier 2017-09-13 14:06:33 -07:00
Brian Heim 3ac7609b49 Vim: conform highlighting of preprocessor macros (#11391)
* vim-syntax: highlight #function preproc macro

* vim-syntax: highlight preproc macros in string interpolation

* vim syntax: make string interpolation a matchgroup

Now, only the opening \( and ) are highlighted, and everything inside retains its coloring
2017-08-09 16:39:45 -07:00
Saleem Abdulrasool d45c575f8b vim: update syntax
Properly support `weak` and `indirect enum` keywords.
2017-07-19 15:29:28 -07:00
Saleem Abdulrasool 7b36b97d2d vim: remove double handling for var, let
`var` and `let` were being handled as a keyword and a variable
definition keyword.  Avoid the first match.
2017-06-09 22:52:28 -07:00
Saleem Abdulrasool 66a249ebdc vim: improve syntax highlighting for inout parameters
The `inout` keyword was not being recognised previously.  Recognise it
as a modifier for a type parameter.  It can only be used as a type
modifier.
2017-06-09 22:50:27 -07:00
Saleem Abdulrasool 46ecc9a558 vim: add didSet willSet keywords 2017-04-17 21:08:08 -07:00
Saleem Abdulrasool 041bc95c0a vim: remove typealias from keywords
It is in the tyep definition list, do not treat it as a keyword.
2016-08-24 21:02:35 -07:00
Robert Widmann 4e5665a8bd [SE-0096] Remove support for dynamicType member 2016-07-30 03:24:05 -07:00
Dmitri Gribenko ac489860a1 vim: add support for 'fileprivate' 2016-07-28 18:30:35 -07:00
raimon 65ae9cc418 [vim] Support highlighting 'MARK' in comments 2016-07-13 22:00:52 +09:00
tokorom f7867cedda [vim] highlight fallthrough 2016-06-05 15:15:08 +09:00
Saleem Abdulrasool 6e155f9dfd vim: highlight "indirect case" 2016-06-04 11:36:32 -07:00
Saleem Abdulrasool 799ad98b21 vim: highlight #file, #line 2016-06-04 11:35:54 -07:00
Saleem Abdulrasool 766c56f407 vim: highlight more delimiters appropriately 2016-06-04 11:35:54 -07:00
Saleem Abdulrasool 51a2df701a vim: highlight is casts 2016-06-04 11:35:54 -07:00
Saleem Abdulrasool e8c2ad4da4 vim: remove unnecessary match duplication 2016-06-04 11:35:54 -07:00
Saleem Abdulrasool c0a8d3f3de vim: correct categorisation of keywords
Remove modifiers from the keywords into the modifiers section.  Remove type
specifiers from the keyword group.
2016-06-04 11:35:54 -07:00
Saleem Abdulrasool 00d852d8fc vim: move remaining keywords 2016-06-04 11:35:54 -07:00
Saleem Abdulrasool 63e67590c8 vim: re-organise import keyword, component highlighting 2016-06-04 11:35:54 -07:00
Saleem Abdulrasool 91ec0e3069 vim: remove duplicate swiftFuncName
This was duplicating the swiftTypeName.  However, the swiftTypeName is more
generically named and applies to both types and functions both in structure and
usage.  Retain the single definition.
2016-06-04 11:35:54 -07:00
Saleem Abdulrasool 9a326fa50e vim: move the declaration keywords 2016-06-04 11:35:54 -07:00
Saleem Abdulrasool 3dab5cd990 vim: drop new keyword, it is obsolete 2016-06-04 11:35:54 -07:00
Saleem Abdulrasool 844a7d6381 vim: do not highlight keywords in backticks
Swift permits the use of reserved keywords as identifiers.  Reflect that in the
syntax highlighting.
2016-05-30 21:50:42 -07:00
Saleem Abdulrasool 4dab467654 vim: highlight reethrows as a modifier 2016-05-30 21:50:42 -07:00
Saleem Abdulrasool 0d600fdbf1 vim: highlight attributed function declarations
Check for a type declaration following an attribute.  This corrects the
highlighting of function types such as:

  @noescape (Wrapped) throws -> T
2016-05-30 21:50:42 -07:00
Saleem Abdulrasool a756131efe vim: more clever highlighting of generics
Perform more clever highlighting of generic clauses.  The archetype identifier
is now identified as an identifier, the archtetype type as a type, and the
constraints (where) as special syntax.
2016-05-30 21:50:42 -07:00
Saleem Abdulrasool 5fd99aec6a vim: not all function keywords get generalised
We currently only do init<T>.  Only permit generalization of init, not deinit,
subscript.
2016-05-30 21:50:42 -07:00
Saleem Abdulrasool ba4a17c1d2 vim: differentiate between a type and a typename
A typename is a name for a type being defined.  A type may contain optionality
as well.  This ensures that we do not accidentally highlight an invalid name
such as `InvalidName?` as a type name.

Fix the fact that I had previously created a special group for the array.  An
array is a type, so it should be part of the same group.
2016-05-30 21:50:42 -07:00
Saleem Abdulrasool 314699e83c vim: highlight autoreleasepool 2016-05-28 21:35:55 -07:00
Saleem Abdulrasool 6435ba6748 vim: highlight the throws modifier
Highlight the `throws` keyword which indicates a function may throw an
exception.
2016-05-28 21:26:06 -07:00
Saleem Abdulrasool 156bfe8e11 vim: add throw keyword 2016-05-28 21:25:10 -07:00
Saleem Abdulrasool 6b8eae03c3 vim: consider optionality as part of the type
Include the optionality of a type as part of the type name.
2016-05-28 21:24:19 -07:00
Saleem Abdulrasool 980b408882 vim: remove destructor keyword for deinit
This fixes the highlighting for the "destructor" in swift.
2016-05-28 21:10:28 -07:00
Saleem Abdulrasool bfd78da590 vim: highlight dynamic modifier
Treat `dynamic` as a modifier for functions.
2016-05-28 21:03:04 -07:00
Saleem Abdulrasool 8c5161d6c6 vim: highlight array types in cast target
Highlight array types when used for type names as types.
2016-05-28 21:03:04 -07:00
Saleem Abdulrasool e0a5eddcf3 vim: tweak casting operator highlighting
Tweak the matching for swift 2 casting operators (as, as?, as!).
2016-05-28 21:03:04 -07:00
Saleem Abdulrasool 2986b11a15 vim: add dynamicType
Include the `dynamicType` keyword in the identifier keywords.
2016-05-28 21:03:04 -07:00
Saleem Abdulrasool 188b70da95 vim: remove support for obsolete attribute syntax
Bracketed attributes have not been supported since pre-1.0.  Let us consider
them obsoleted.
2016-05-28 19:58:04 -07:00
Saleem Abdulrasool 3ce5337a9a vim: clean up skipwhite usage
The skipwhite option is only relevant when there is a nextgroup directive as
well.  Normalise the usage across the file and remove the extraneous skipwhite
directives.  NFC.
2016-05-28 11:59:42 -07:00
Saleem Abdulrasool 60cf8f75cd vim: add try and catch keywords
These were missing from the keyword list.  Add them.
2016-05-26 20:49:15 -07:00
Saleem Abdulrasool bc6cac32e2 vim: sort the keyword list 2016-05-26 20:46:56 -07:00
Saleem Abdulrasool 96e64bf10a vim: change the keyword list into a list
Just represent the list of keywords as a visible list.  This makes it easier to
see the individual keywords as well as makes it easy to add new keywords in the
future.
2016-05-26 20:45:51 -07:00
Saleem Abdulrasool caa40e268b vim: remoe unnecessary keyword option
skipwhite does not do anything for keyword matches.  Remove the unnecessary
option.  NFC.
2016-05-26 20:43:45 -07:00
Dmitri Gribenko 071c80714a vim: add coloring for 'guard' 2016-05-16 14:46:14 -07:00
Saleem Abdulrasool df44056ae9 vim: comment out #if false
Similar to `#if 0` in C/C++, `#if false` is used to block comment out code.
Treat it as such.
2016-05-16 11:52:38 -07:00
Saleem Abdulrasool 83e702a73e vim: update syntax file
Support `#else` and `#elseif` as valid tokens as well.  Also support whitespace
before the #.
2016-05-14 21:32:16 -07:00
Max Moiseev b29bdd4361 [vim] support for more keywords
Support for a newly introduced `associatedtype` as well as `final`,
`override` etc. `get`/`set`, nil`, `as` and `??` will get highlighted
too.
2016-01-22 15:40:29 -08:00
Max Moiseev 881b2b48d5 [vim] highlighting FIXME and TODO in comments 2015-12-04 17:31:36 -08:00