- Fix highlighting of
typekeyword followed by parenthesis in an export list (#267). - Add support for
TypeDatatype data declarations. - Improvements to highlighting of GADTs:
- allow the
whereto be on a different line than thedata - accept a block comment between the
dataand thewhere, - handle explicit semicolons/braces for layout.
- allow the
- Properly highlight
family/instancein type/data family declarations and instances whenfamily/instanceis on a separate line. - Highlight
{-# OPAQUE foo #-}pragma, thanks to @bodigrim.
- Add automatic release workflows (#257), thanks to @fendor
- Transfer ownership to Haskell community (#256), thanks to @fendor
- Add support for untrusted workspaces (#211), thanks to @maciej-irl
- Add support for
\casessyntax (#218), thanks to @mixphix - Fix bare unit type applications (#225), thanks to @mixphix
- Fix qualified type operators in export lists (#191), thanks to [@mixphix]
- Add support for
elifin Cabal files (cabal-version>= 2.2) (#236) - Add support for cabal.project files ([#237] (#237)), thanks to [@rm41339]
- Fix language detection in markdown codeblocks (#240), thanks to @nopeless
- Fix incorrect highlighting when
=>appears inside a comment (#165). - Fix incorrect highlighting of symbolic record fields, and of record fields
whose type includes
=>(#167). - Add support for
datakeyword in import/export lists. - Fix incorrect parsing when the "specialise" keyword occurs inside an SCC pragma (#195).
- Fix highlighting for
PackageImports(#219). - Fix highlighting of type signature inside pattern synony declaration (#194).
- Fix highlighting of data types with fields that contain constraints (#179).
- Updated the list of known LANGUAGE extensions to be current as of GHC 10.0.
- Fix parsing of character literals with Unicode code point above U+007E,
such as
'à','£'... (#183). - Update the
wordPatternused for autocompletion (#224), thanks to @lierdakil. - Allow Unicode general letters to start characters, e.g.
価格. - Prevent the interaction of the C preprocessor with multiline strings from marking the entire rest of the file as invalid (#110).
- Decimal and hexadecimal escape codes in string literals now have the appropriate scopes (instead of using octal).
- Handle declarations that don't appear at the start of a line, e.g.
import A; import B; import Corclass C a; instance C Int. - Prevent slowness when parsing data declarations, in particular with data constructors with long parenthesised arguments.
- Fix an issue in which
do { let x = .. }would be incorrectly highlighted as record syntax (when the opening brace is on a separate line). - Properly highlight postfix magic hash when followed by an opening parenthesis,
e.g.
import Data.Tuple (Solo#(..)).
- Overwriting previous release due to a packaging error
- Add support for Alex and Happy (#97), thanks to @matthewess.
- Default to .hs when saving files (#197), thanks to @noughtmare.
- Fix highlighting for custom quasi quoters with immediate
|(#203). - Be more specific about scope of this project in the README
- Fix lists of the form ['|'...] being highlighted as quasiquotations (#170).
- Proper highlighting of lambda case, including fixing the highlighting of subsequent braces (which were wrongly highlighted as record syntax).
- Recognize indented
\begin{code}boundary in literate haskell files. - Fix highlighting of symbolic data constructors within fixity declarations (e.g.
infixl 9 :$). - Add
meta.embedded.block.{quasi-quoter}scope to quasi-quotations. - Ensure highlighting of unicode forall syntax matches that of alphabetic forall syntax (#175).
- Fix highlighting of empty quasi-quotations such as
[i||]. - Support GHC 9.0 pragmas:
LinearTypes,QualifiedDo,LexicalNegation. - Add support for modifiers, e.g.
id :: a %1 -> a.
- Different approach to fixing slow highlighting of data declarations (#161).
- Fix highlighting for existential data constructor when the class constraint spans multiple lines.
- Fix highlighting for GADT with where clause using
{/}for indentation. - Improve highlighting of existential data constructor in complex situations.
- Fix highlighting of symbolic pattern declarations and symbolic data constructors.
- Improvements to highlighting of pragmas #163, including support for Haddock options.
- Fix highlighting of record at syntax following an identifier that ends with an apostrophe.
- Improve highlighting of symbolic constructors in import/export lists.
- Attempt to limit backtracking in regular expression for data declarations (#161).
- Improved highlighting for multi-line standalone kind signatures.
- Improved type highlighting in multiline deriving declarations.
- Improvements to highlighting data constructors:
- support for infix data constructors
- correctly parse comments on the same line as a data declaration,
- fix regression with GADT constructors when
::follows on a new line (#119), - fix regression: allow data constructor preceded by a symbol (e.g. parenthesis, comma) #122,
- fix highlighting of GADT constructors that end with apostrophes,
- highlighting now also applies to data families (#72).
- Correct highlighting of types in type families.
- Improvements to pattern synonyms
- support multiline type signatures,
- allow several pattern synonyms to be declared at once (#72).
- Fix regression: LiquidHaskell highlighting (#131)
- Improvements to deriving:
- improve leniency for whitespace in deriving declarations,
- allow unparenthesised
viaclauses, and highlight the derived instance code as usual, - highlight multiline
deriving viaclauses (in most situations), - highlight deriving strategies (#72).
- Improvements to records:
- Improve highlighting of ticks (#136), (#71).
- Module imports/exports improvements:
- allow C preprocessor instructions to appear in module exports,
- improved highlighting of
type Tandpattern Pdeclarations, - improve support for unusual indentation.
- Foreign import/export declarations:
- more calling conventions recognised,
- recognise safe/unsafe/interruptible keywords,
- correct highlighting of type signature, including over multiple lines.
- Fix several issues with comments:
- Highlight recognised language extensions.
- Highlight type signature in
SPECIALISEannotations. - Improvements to multi-line declarations:
- fixed several issues involving multi-line type/data declarations (#147),
- fix regression in highlighting subsequent lines in a multi-line type signature
when the initial
::appears appears first on a line, - fix wrong highlighting in multi-line class declarations.
- Add support for visible kind application (and miscellaneous fixes for visible type application).
- Improved support for reserved symbolic operators.
- Bugfix for escaped character literals (e.g.
'\^A'). - Fix for floating point numeric literals not being highlighted properly.
- Newly highlighted items:
- bang patterns and irrefutable patterns (#145),
- as mentioned above: record
@syntax (tight infix@), and record fields, - bang patterns (prefix
!) and irrefutable patterns (prefix~), - arrow operators such as
-<, - opt-in: magic hash using
keyword.operator.hashandkeyword.operator.postfix.hash, - unrestricted OverloadedLabels (#68),
- role annotation keywords (nominal/representational/phantom).
- GHC language extensions (including deprecated highlighting for deprecated extensions).
- Simple support for Haskell quasi-quoters
e,p,dandt(#23), as well as typed quotes. Other quasi-quoters simply disable Haskell highlighting. - Support for
.hs-bootfiles (#117). - Preliminary support for
C2HsandHsc2Hsfiletypes. - Support for cabal internal libraries.
- Fix type signature not always ending when encountering a closing bracket.
- Allow a qualified type to be the first argument of an infix constructor inside a data declaration.
Released in error without any changes.
- Integrated several contributions from @robrix
- Highlight
commonstanzas in.cabalfiles (#105) - Highlight
benchmarkcomponents in.cabalfiles (#105) - Highlight the
importandautogen-modulesfields in.cabalfiles (#105) - Fix an issue where operators starting with
::were incorrectly treated as type signatures (#106) - Highlight
COMPLETEpragmas (#107) - Highlight
INLINEABLEpragmas (#107) - Highlight
COLUMNpragmas (#107)
- Highlight
- Fixed highlighting for multi line type aliases (#111)
- Fixed highlighting of string literals in deprecation pragmas (#112)
- Specialized highlighting for
signature, to permit it as an identifier (#108) - Fixed comments occurring in place of export lists (#104)
- Pragmas are now case insensitive (#81)
- Fixed matcher for end of type annotations. Facilitates indented
moduleblocks (#91) and standalone deriving (#89) - Updated cabal grammar (#93)
- Shoddily fixed promotion ticks (#71)
- Added support for custom type operators (#70)
- Support for single-line
deriving viaandderiving ... via ...(#72) - Rudimentary support for pattern synonyms (#72)
- Better support for type families and type instances (#72)
- Fixed highlighting for type level integers (#51)
- Improved support for type definitions
- Constructors are now highlighted properly in definitions
- Fixed highlighting for records (#38)
- Type signatures are now highlighted properly in single-line type definitions
- GADT's can now span multiple lines (#102)
- Implemented existential types (#39)
dataandnewtypes can now include kind signatures (#35)
- Support for foreign imports (see https://www.haskell.org/onlinereport/haskell2010/haskellch8.html) (#44)
- Support for visible type applications (#73)
- Support for nested block comments by @reactormonk
moduleandpatternkeyword in export lists (#18)- Fixed parentheses handling in export lists and made the colouring more consistent (#69)
- Corrected comment delimiter for literate Haskell files. By @sjorn3 in #87
- As a substantial internal change the grammar migratd to the YAML format, to make it easier to maintain and develop with.
- Refined many of the tm scopes with new information available from the parser
- Fixed the no-indent regex (#86)
- Changing auto indent rules to only trigger on first line after indent. Contributed in #92 by @hanjinko
- Highlighting for backpack signature files added. Contributed in #74 by @edmundnoble
mixinskeyword added to the cabal grammar. Contributed in #76 by @arkrost- Module qualifiers in infix applications are now distinguished through highlighting. Contributed in #58 by @sheaf
- Support for LiquidHaskell annotations added in
#78 by
@ranjitjhala
- Add support for LiquidHaskell annotations
- Adds support for numeric literals as defined in this proposal in #49 by @takenobu-hs
- Added code injection to markdown for Haskell (
hs,haskell), literate Haskell (lhs,literate-haskell) and Cabal (Cabal) in #55, #56 and #57 by @glebec - Fixed parsing for type-level strings (#50)
- Fixed highlighting of empty type classes. (#66)
- Merged pull request
#45 by
@Porges
- Add support for some UnicodeSyntax
- Enabling off-side code folding (new feature since vscode 1.17) Folding a region of code does not fold empty lines trailing the region anymore
- Merged pull request
#47 by
@scott-fleischman
- Add
haskell.indentationRules.enabledsetting to disable automatic indentation via user settings
- Add
- Fixed highlighting for alternate control character syntax. Solves issue #42
- Patch release to fix version invalidity
- Merged pull request
#37 by
@jBugman
- Adds
custom-setupsection to cabal syntax - Adds support for line comments (
--) to cabal syntax
- Adds
- Changed logo to png (svg is not supported anymore)
- Adapted increaseIndentPattern to skip keywords followed by
'(related to the handling ofkeyword'identifiers as reported in #31) - Fixed terminating type signatures on
else,thenetc. - Fixed not increasing indent for one-line
if(see #34)
- Fixed highlighting for
wherekeyword in GADT definition - Fixed highlighting for
<-and following expression when preceeded by type signature (see #28) - Added
mdoandrecto keywords (see #29) - Added automatic indent for
mdoblocks - Changed keyword regexes to not fire when followed by
'(see #31) - Fixed highlighing for qualified infix functions (see #30)
- Removed snippets contribution from package.json (fixes
ENOENT: no such file or directoryerror) discovered and fixed by @dsifford
- Fixed two issues with highlighting for deriving clauses
- Fixed an issue where type signature detection would not end at end of record definition
- Added GHC pragmas and directives (thank you to @metaleap)
- Retroactive version bump due to large previous changes
- License changed
- Removed highlighting for prelude functions, as it is confusing. (see #11)
- New rules:
- to recognize and correctly highlight inline type signatures (reported in #11)
- for
typeto highlight left and right side of=as type signature - for
datato highlight only right side of=as type signature - for distinction between comments and haddock documentation
- Fixed a bug where in consecutive type signatures the later ones are not highlighed properly
- Removing auto closing
'per suggestion from @HuwCampbell (see #9)
- Changing grammar to accomodate indented functions
- Changing grammar to try and fix the markup of function names preceeding type signatures
- Manual merging of changes from haskell.tmbundle#18 by @sanssecours for several markup fixes (most importantly multi line type signatures (see #1))
- Replacing typescript initializer with json configuration
- Adding smart brackets
- PR from @Miguel-Fontes to
- add markup for literate haskell files (see #7)
- add markup for embedded haskell code in latex