Releases: JohnSundell/Splash
Releases · JohnSundell/Splash
Splash 0.16.0
This version of Splash includes support for highlighting code written using Swift 5.5's new concurrency features, including async/await
and actor
types. It also upgrades the Swift version that Slash uses to 5.4
.
Syntax highlighting has also been corrected in the following situations:
- When
nil
is used within a ternary operation. - When a comment is placed next to an array type or literal.
- When an underscore is used to ignore function parameters.
- When a property wrapper's projected value is used.
This release also includes documentation fixes by @Yaacoub and @haikusw, and an infrastructure improvement by @fjcaetano.
Splash 0.15.0
This release fixes syntax highlighting within the following scenarios:
- When a multi-line-style comment is placed next to, or within, a generic type list.
- References to a generic type's static property or enum case.
- Calls to methods that have names matching a keyword.
- Keywords like
init
anddidSet
are no longer highlighted as method calls in certain situations.
Splash 0.14.0
- Syntax highlighting for Swift property wrappers has been improved.
- Comments that are proceeded by a comma are now correctly highlighted.
- Splash now installs and runs more predictably on case sensitive file systems (thanks to @hybridcattt)
Splash 0.13.0
- Splash now requires Swift 5.2.
- The
try
keyword is now correctly highlighted when used within a function call. - Comments that appear next to curly brackets are now correctly highlighted.
- Generic parameter types that appear in an initializer declaration are no longer highlighted.
- Generic superclasses are now correctly highlighted within subclass declarations.
Splash 0.12.0
- Enum cases called
some
are now correctly highlighted. - You can now pass a custom
Grammar
when usingMarkdownDecorator
(by @marcocapano). - Function calls that are the first statement within a closure that accepts arguments are now correctly highlighted.
- When switching on an expression that includes accessing a property, that property is no longer incorrectly highlighted as a function call.
Splash 0.11.1
This releases makes Splash compatible with the Swift 5.2 compiler that's bundled with the current Xcode 11.4 beta, thanks to @duemunk.
Splash 0.11.0
- Keyword-like function parameters placed on a separate line are no longer highlighted.
- Keyword-like variables used when unwrapping optionals are no longer highlighted.
- Splash now recognizes the
unowned
keyword. - Multiline comments are now correctly highlighted when placed next to punctuation, and when such a comment has no content (like
/**/
), by @duemunk. - String literals that end with a newline character are now correctly highlighted.
This release also contains a test improvement by @artrmz.
Splash 0.10.0
- Splash now fully escapes all required HTML entities when outputting HTML and when highlighting Markdown code blocks.
- The
prefix
keyword is now correctly highlighted.
Splash 0.9.0
New features:
- You can now inject a custom CSS class prefix when using
MarkdownDecorator
to highlight all code blocks within a Markdown file.
Fixes:
- Single-expression raw string interpolation is now highlighted correctly.
- Strings appearing within another string's interpolation are now correctly highlighted.
- Types appearing within a generic subscript's declaration are now highlighted correctly.
nil
is now properly highlighted when passed to a parameter-less function.- Support has been added for the
#warning
and#error
compiler directives.
Splash 0.8.0
New APIs
Grammar
now has a method calledisDelimiter(mergableWith:)
, which is optional to adopt, and allows each grammar to tweak whether two delimiters should be merged into a single token when evaluated.
Fixes
- The
convenience
keyword is now supported. MarkdownDecorator
no longer hard-codes line breaks within the HTML code blocks that it generates (which is also true for thesplashmarkdown
command line tool, since it uses that same decoration code).- APIs called using dot syntax are now only highlighted as
dotAccess
when there are no associated values or parameters passed. So.someCase
will be highlighted asdotAccess
, while.someCall()
won't. This is to make static APIs called using dot access highlighted in a more accurate way. - Highlighting for strings containing interpolation has now been made a lot more robust, especially for strings that contain punctuation and other delimiter-like characters.
- Fixed a bug that could cause a type following a comment ending with a punctuation character to not be highlighted correctly.
- Comments that start with a delimiter are now highlighted correctly.