tests/languages


Log

Author Commit Date CI Message
Michael Schmidt 73d964be 2019-06-08T20:15:08 Added support for JQ language (#1896) This adds support for the JQ language.
dvdhansen 2141129f 2019-05-28T23:07:39 Julia: Highlight ‘Inf’ and ‘NaN’ as constants (#1921) This highlight `Inf`, `NaN` and all of their variants as constants.
dvdhansen feb3187f 2019-05-28T21:38:42 Julia: Add the ’in’ keyword (#1918) Added the missing `in` keyword.
Michael Schmidt 3de29e72 2019-05-28T14:23:02 C++: Fixed C++ number pattern (#1887)
Michael Schmidt 6068bf18 2019-05-18T17:57:47 JS: Added support for numeric separators (#1895) This adds support for JavaScript's new numeric separators. E.g. `123_456`.
Michael Schmidt f0a10669 2019-05-15T13:41:05 CSS: Extended `url` inside (#1874) This extends the highlighting of the CSS `url` pattern adding highlighting for punctuation and the `url` function.
Michael Schmidt 5e5a3e00 2019-05-12T14:14:03 CSS-Extras: Added `even` & `odd` keywords to `n-th` pattern (#1872) `even` and `odd` are keywords which are also an `n-th` value. This adds it to the pattern which previously only captured values of the form `an+b`.
Ralf Biedert 4faa3314 2019-05-07T20:09:47 Add async / await keywords for Rust. (#1882)
Michael Schmidt cbe05ec3 2019-04-23T20:52:47 JSON: Kinda fixed comment issue (#1853) This is a partial workaround for the greedy matching bug so that pure JSON will always be matched correctly while JSON + comments might suffer from some issues.
Michael Schmidt c13d6e7d 2019-04-19T22:07:57 JS: Template strings: Increased bracket count of interpolations (#1845) This increases the number of nested braces which can be matched by JS's template pattern to supported nested objects within interpolation expressions.
Michael Schmidt 9e164935 2019-04-19T21:56:52 Added support for `s` regex flag (#1846) This adds support for the ES2018 `s` (dotall) flag for regular expressions.
Michael Schmidt a42b1557 2019-04-07T13:29:46 Rust: Improved punctuation and operators (#1839) This improves Rust's existing punctuation and operators, adds support for new ones, and updates the tests.
Michael Schmidt 191830f2 2019-03-24T20:06:42 Scheme: Minor improvements (#1814) Minor improvements for the Scheme language.
Michael Schmidt a91be7b2 2019-03-22T18:16:03 Apache config: Minor improvements + new keyword (#1823) This adds the `SSLSessionTickets` word to the list of inline directives and compresses current word lists.
Michal 30779976 2019-03-20T22:10:17 Added support for CMake language (#1820) This adds support for the [CMake](https://cmake.org/) language.
Michael Schmidt f2d8e1c7 2019-03-14T15:03:11 JS: Keyword fix (#1808) This fixes false positives with properties which have the same name as keywords.
Michael Schmidt 70a40414 2019-03-10T22:15:10 CSS extras: Highlighting for pseudo class arguments (#1650) This adds highlighting for pseudo class arguments, selector punctuation, and n-th expressions.
Michael Schmidt f2467488 2019-03-10T18:53:08 Django/Jinja2 improvements (#1800) This completely rewrites the Django language definition. It's now based on markup-templating.
Michael Schmidt af67c32e 2019-03-10T18:44:30 Markup `addInline` improvements (#1798) This makes some minor improvements to the new `addInline` function of markup.
Michael Schmidt b2298b12 2019-03-10T15:45:40 Added GraphQL improvements and tests (#1788) This makes some improvements to GraphQL and expands the existing tests.
Michael Schmidt a2d445d0 2019-03-06T13:22:08 CSS: Selectors can contain any string (#1638) This fixes that certain attribute value strings break the selector pattern.
Michael Schmidt c37c90df 2019-03-05T22:17:36 Added EJS (#1769) This adds the EJS (Embedded JavaScript templates) language to Prism.
Michael Schmidt c805f859 2019-03-05T16:56:13 Ruby/ERB: Fixed block comments (#1768) This fixes block comments in Ruby and ERB.
Michael Schmidt 571704cb 2019-03-04T23:38:57 Regex language (#1682) This adds a Regex language that adds itself to a few languages which have regex literals.
Michael Schmidt 57127701 2019-03-04T23:12:46 Markup: Added support for CSS and JS inside of CDATAs (#1660) This adds support for CSS/JS inside of (any number of) CDATAs.
Michael Schmidt 16f2ad06 2019-03-04T22:59:24 Added T4 Text Templates (#1699) This adds T4 Text Templates in both the C# and VB language variants.
Michael Schmidt 245b59d4 2019-03-04T22:17:23 CSS: Highlight attribute selector (#1671) This adds highlighting for CSS attributes selectors in CSS Extras
Jakub T. Jankiewicz f8c8add2 2019-03-03T14:10:47 Fixed operator-like functions in Scheme (#1467) This fixes operator-like functions in Scheme.
wippysnib 3b396ef5 2019-03-02T04:09:06 Added new SAS keywords (#1784) This adds the SAS keywords libname, set, output, and options to the language definition.
Michael Schmidt 289ddd9b 2019-02-28T21:56:01 PHP: Fixed closing tag issue (#1652) This fixes that PHP's closing tag (`?>`) was detected inside strings and comments.
Michael Schmidt 493d19ef 2019-02-28T21:01:31 Added doc comment highlighting (#1541) This adds support for JavaDoc, JSDoc, TSDoc, and PHPDoc.
Michael Schmidt bb628606 2019-02-28T20:19:45 Added JS Extras (#1743) This adds JS Extras, a few additional features for the JS language.
Michael Schmidt 3560c643 2019-02-28T20:12:11 JS: Fixed variables named "async" (#1738) Fixes variables names "async" in JS.
Michael Schmidt c3862a24 2019-02-28T19:55:24 Fix for markup attributes (#1752) This fixes some issues related to markup (XML/HTML) attributes. See the PR for more detail.
Michael Schmidt 5fd7577a 2019-02-28T19:52:06 Smalltalk: Allowed empty strings and comments (#1747) This fixes that empty strings and comments were not recognized in Smalltalk.
Michael Schmidt 7bcec584 2019-02-28T19:41:00 Improved JS constant pattern (#1737) This changes the JS constant pattern so that all WebGL constants (like `FLOAT_MAT2x4`) are matched.
Michael Schmidt 8378ac83 2019-02-28T19:33:50 Improved JS function pattern (#1736) Allows for spaces around the punctuations of function invocation via `apply`, `bind`, or `call`.
Michael Schmidt 64dc049d 2019-02-28T19:28:22 Added JSON5 language (#1744) This adds the JSON5 language to Prism.
Michael Schmidt 13e1c97d 2019-02-28T19:23:25 Added EBNF language (#1756) This adds the EBNF language.
Michael Schmidt 1df96c55 2019-02-28T19:18:05 Added BNF and RBNF languages (#1754) This adds the BNF and RBNF languages.
Michael Schmidt 6d98f0e7 2019-02-28T19:10:37 Added ANBF language (#1753) This adds a new language: ANBF (Augmented Backus–Naur form).
Michael Schmidt b5041cf9 2019-02-26T05:41:01 Fix JSONP support (#1745) This PR fixes that JSON did not support [JSONP](https://en.wikipedia.org/wiki/JSONP) callback functions. I also added a JSON example page.
Michael Schmidt d9fa29a8 2019-02-15T16:03:59 Make `undefined` a keyword in JS (#1740)
ExE Boss fccfb98d 2019-02-14T01:25:25 Added `pnpm` function to Bash (#1734) This adds `pnpm` to the list of supported functions in Bash.
Frankie Wittevrongel 3a32cb75 2019-02-13T22:33:38 Added `yarn add` to bash functions (#1731) Adds `yarn add` to bash functions.
Michael Schmidt baf6bb0c 2019-02-13T20:31:50 Add support for # comments to INI language (#1730) This PR resolved #1729. Disclaimer: # comments are only supported by [some implementation](https://en.wikipedia.org/wiki/INI_file).
Rex Zeng 4362e42c 2019-02-12T23:30:14 Support JSX/TSX class-name with dot (#1725) Adds class-name highlighting for JSX/TSX tag names containing dots.
Rex Zeng 57a92035 2019-02-12T20:43:31 Improved JavaScript parameter recognization (#1722) - The first letter of a parameter can now be upper case. - Fixes too greedy regex by introducing recursive expressions.
Michael Schmidt 7eccea5c 2019-01-22T00:49:40 Improve C language (#1697) This PR adds support for [hexadecimal floating-point literals](http://www.cplusplus.com/doc/tutorial/structures/), and [`enum`](https://www.geeksforgeeks.org/enumeration-enum-c/) and [`struct`](https://www.tutorialspoint.com/cprogramming/c_structures.htm) class names.
Stephan Max b94b56c1 2019-01-15T15:54:35 Added the Nand2Tetris HDL language (#1710) This adds support for the [Nand2Tetris](https://www.nand2tetris.org/) HDL language.
volado 439e3bd7 2019-01-11T00:54:01 Made false, true, and null constants in PHP (#1694) - This adds the `constant` alias to `false` and `true`. - `null` is no longer `keyword` but a `constant`.
Toby Wilds 7def8f5c 2019-01-03T23:52:27 Added N1QL language support (#1620) Adds support for[N1QL](https://www.couchbase.com/products/n1ql) for Couchbase.
volado 55fb0f8e 2019-01-03T17:22:02 Update PHP keywords (#1690) This removes PHP 4 specific keywords and adds new PHP keywords. Keywords previously classified as functions are now classified as keywords.
volado f1026b4b 2019-01-03T01:41:36 Improve recognition of constants in PHP (#1688) The pattern for PHP constants now have to be a valid identifier and recognizes single-letter names.
JeongHoon Byun (aka Outsider) c939df8e 2018-12-27T20:56:24 Added support for HCL (#1594) Adds support for HCL ([HashiCorp configuration language](https://github.com/hashicorp/hcl)).
Valtteri Laitinen 4f6f3c7d 2018-12-24T17:28:06 Allow multiline CSS at-rules (#1676) Allows for CSS at-rules containing line breaks.
Volk b48c012c 2018-12-15T20:32:22 Added Vala language (#1658) Adds support for the Vala language.
anton-balaniuc 6e250a5f 2018-12-06T07:27:46 Added module keywords to Java. (#1655) This adds the in Java 9 introduced module keywords to Java. Namespaces following these keywords are also properly highlighted.
Gal Schlezinger 8b1bb469 2018-12-03T15:34:30 Added additional operators to Reason (#1648) This adds the `|>` and `->` operators to Reason.
Michael Schmidt 9de47d3a 2018-12-03T14:20:07 Fixed CSS extra variable (#1649) Details are described [here](https://github.com/PrismJS/prism/pull/1450#discussion_r238257002). I decided to go with the property variant, highlighting custom property declarations as `variable`.
Rex Zeng 5fcee966 2018-12-03T20:55:22 Identify CSS units and variables (#1450) Assume CSS unit is a word or `%` after a number, CSS variable is a word inside `var()`. `%` is not recognized as a part of number, but the leading `-` is. When using minus operator in `calc` function, we must type a space in both sides of `-` (value like `calc(100%-5px)` is wrong), so if we met a pattern like `-[\d.]` in a CSS value (not in selector, rule or variable), it must be the start of a negative number.
Rex Zeng 0cc8c56a 2018-12-03T20:52:13 Identify JavaScript function parameters (#1446) Support parameters for these types of functions: ```javascript // es6 class method foo(x, y) {} // es6 arrow function (x, y) => x x => x // es5 function function foo(x, y) {} // es5 anonymous function function (x, y) {} ```
Michael Schmidt 4a8219a4 2018-12-02T19:25:05 Add support for Java stack traces (#1520) There are 3 main types of elements which are highlighted: 1. The summary. This is the head of the stack trace and includes the name of the exception and a message. `Exception in thread "main" java.lang.RuntimeException: A test exception` 2. Stack frames. These make up the actual stack trace and include the full name of the method and the source. `at com.stackify.stacktrace.StackTraceExample.methodB(StackTraceExample.java:13)` 3. Omitted frames. This is a simple message that some frames were omitted. `... 27 more` Everything besides these 3 element types will not be highlighted.
Michael Schmidt a69c2b62 2018-12-02T16:48:53 Improvements to Python F-strings and string prefixes (#1642) This PR adds support for [string interpolation](https://www.python.org/dev/peps/pep-0498/) (aka. f-strings) and makes the [string prefixes](https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals) part of the string. Resolves #1636. ### Known issues Assumes that strings inside the interpolation expression are 'nice'. So strings with unfortunate numbers of curley braces will cause incorrect highlighting: E.g.: `f"{'}'}"`.
Michael Schmidt 5b6ad70d 2018-12-02T16:44:21 Add TOML support (#1488) Add support for [Tom's Obvious, Minimal Language](https://github.com/toml-lang/toml). Some simplifications: 1. The `.`s of dotted keys are not highlighted. This is because the `.` could be inside quotes and checking that isn't easy. 2. There is no distinction between table `[foo]` and array `[[foo]]`. `foo` will be highlighted as `table` in both cases.
Michael Schmidt 2577b6e6 2018-12-02T00:07:24 Add decorator support to Python (#1639) Add support for Python decorators, implementing #1635 using the solution proposed by @spectras. Also add 2 aliases: `annotation` to be like Java and `punctuation` to change the actual color (like Java). This resolves #1635.
Cameron Bothner 72775919 2018-12-01T16:38:05 Consistent Ruby method highlighting (#1523) Ruby methods might or might be called in C-style creating inconsistent highlighting. This highlights only method definitions and removes the highlighting of C-style-invoked methods.
Michael Schmidt 2a4758ab 2018-12-01T21:44:57 Improve regex detection in JS (#1473) The pattern for regular expressions in JS now also matches empty character sets and it handles expressions like `/[\]/]/` now correctly.
Michael Schmidt 81bd8f0b 2018-12-01T21:44:17 Improve Java (#1474) A bunch of small improvements for the Java language. 1. Class highlighting based on [naming conventions](http://www.oracle.com/technetwork/java/javase/overview/codeconventions-135099.html). Because of these conventions, we know that every name which starts with an uppercase letter and contains some lower case letters afterward is a class, interface or enum. 2. Nested generics are now supported. The contents of a generic statement are no longer highlighted as a `function`, but as a `class-name` which is more fitting. 3. Packages will now be highlighted as `namespace`. 4. E.g. `foo::bar`, `bar` will be highlighted as a function. 5. ~Support for `var`.~ #1549 6. `null` is now a keyword. As it should be.
Michael Schmidt 3b1e0916 2018-12-01T21:34:04 Improvements to C# operator and punctuation (#1532) Solve the issue of [C# breaking ligature fonts with the `=>` operator](https://github.com/PrismJS/prism/issues/1133#issuecomment-413553956). `=>` is now an operator. There are also some other changes. 1. `?` and `:` are now all included by `punctuation`. Because `:` cannot be included in `operator` (because it is also used for inheritance) the `?` shouldn't be an `operator` either. 2. `??` and `?.` were added to `punctuation`. They weren't explicitly supported before. 3. An operator-test was added.
Michael Schmidt 00bfc969 2018-12-01T21:27:42 Improve F# (#1573) Implement a few F# features: 1. [Attributes](https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/attributes). 2. [Computation expressions](https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/computation-expressions) (resolves #1459). 3. Class names for type annotations, [casts ](https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/casting-and-conversions)(not including `as`), definitions and instancing (resolves #1460). 4. Proper support for ([nullable](https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/symbol-and-operator-reference/nullable-operators)) [operators](https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/symbol-and-operator-reference/).
Michael Schmidt b0717e70 2018-12-01T21:09:13 Add support for code blocks in Markdown (#1562) It also supports syntax highlighting! The highlighting is done in two steps: 1. Add an alias `language-****` containing the given language to the `code-block` token. This happens in the `after-tokenize` hook. 2. Highlight the code with the `wrap` hook. This is to get around the encoding (`util.encode`) of tokens in `Prism.highlight`. By using this procedure we get the correct execution of the `before-tokenize`, `after-tokenize`, and `wrap` hook for all included languages.
Michael Schmidt c988936b 2018-12-01T19:46:13 Resolved merge conflict
Michael Schmidt 1b75da90 2018-12-01T18:46:55 Improved HTTP content highlighting (#1598) Extends the content highlighting capabilities of HTTP. 1. Add support for `application/javascript` and `text/css` content types. 2. Change the languages associated with certain types: 1. `application/json` now uses `json` with `javascript` as a backup instead of just `javascript`. 2. All XML types now use `Prism.languages.xml` instead of `markup`. 3. The HTML type now uses `html` instead of `markup`. 3. Add support for highlighting based on [suffixes](https://en.wikipedia.org/wiki/Media_type#Suffix) for XML and JSON. E.g. `image/svg+xml`, `application/xhtml+xml`, `application/atom+xml` will use `xml` and `application/calendar+json` will use `json`. 4. Stylistic changes: 1. Fix indentation. 2. Use single quotes for token names.
Michael Schmidt 2288c25e 2018-12-01T18:37:20 Add G-code language (#1572) This PR adds the [G-code language](https://reprap.org/wiki/G-code) to Prism and resolves #1571. ### Features - All fields from A-Z ([case sensitive](https://reprap.org/wiki/G-code#Case_sensitivity)) and [checksums](https://reprap.org/wiki/G-code#.2A:_Checksum) (`*`). - [Comments](https://reprap.org/wiki/G-code#Comments) of both the semicolon and parenthesis style. - [Quoted strings](https://reprap.org/wiki/G-code#Quoted_strings). - The colon punctuation of [lists (see the example)](https://reprap.org/wiki/G-code#M584:_Set_drive_mapping).
Michael Schmidt 225dd3f7 2018-11-29T14:07:27 Scheme improvements (#1556) 1. `)` is part for symbols (strings). 2. Function names which have a keyword/builtin as a prefix are not matched correctly. 3. Zero-length function names. 4. `'` is highlighted as `string` even if it marks a list. Also add support for Scheme characters.
Michael Schmidt 1d1fb800 2018-11-29T13:43:22 Python: Operator keywords are now keywords (#1617) Change `and`, `not`, and `or` to keywords.
Ralf Biedert 3590edde 2018-11-29T12:25:28 Add missing keywords to rust. (#1634) Adds `dyn`, `Self`, and `union` to the list of rust keywords.
Starbeamrainbowlabs 38def334 2018-11-28T17:45:17 Add new language: CIL (#1593) Add support for the Common Intermediate Language from .NET.
Michael Schmidt c6584290 2018-11-28T16:12:09 Fixed Markdown headers (#1557) This PR fixed markdown header of the form: ``` Überschrift ----------- ```
Andre Hotzler a2230c38 2018-11-28T14:26:31 Add additional commands to bash (#1577) Includes "apt", "apt-cache" or "parted" and others.
Michael Schmidt 9d2fddc2 2018-11-28T14:21:20 Added strike support to markdown (#1563) This PR adds support for the strike operator in [both forms][1]. It does not include actual styling for the strike operator as it makes the ~ character really hard to read. [1]: https://webapps.stackexchange.com/questions/14986/strikethrough-with-github-markdown/103691#103691
Michael Schmidt 7ea2ff28 2018-11-24T10:54:26 Added the comma to the list of CSS punctuation
Chris Johnston 1c5f28a9 2018-10-29T12:00:54 Allow YAML strings to have trailing comments (#1602) Updates the string regex to allow for strings that may have a trailing '#'. This uses a different pattern from other regex patterns, because only the string regex pattern is greedy, while the others are not. Fix #1601.
Marius Schulz 8720b3e6 2018-10-25T20:56:57 Adds support for comments in JSON (#1595) While JSON doesn't explicitly support comments, they're commonly used and there are supersets of JSON that do make comments available. PrismJS is not a linter, and this is a useful feature to include when displaying JSON.
Damien Jarry 0d73f7f5 2018-10-19T22:48:21 Add new keywords to nginx (#1587) Adds some missing keywords to the nginx language.
Олег Дутченко c1d6cb85 2018-10-19T04:06:02 Fix tokenizing !important (#1585) Updates the regex to ensure that when `!important` sits next to a property with no spaces, it's still tokenized correctly.
Michał Lytek 11695629 2018-10-18T20:34:53 Enhance definitions in TypeScript component (#1522) Add missing keywords & built-ins to the TypeScript definition.
Michael Schmidt f96b083a 2018-09-23T15:20:05 F#: Chars can only contain one character (#1570) This PR fixes #1480.
Michael Schmidt a47c05ad 2018-08-28T05:39:08 Fixed lowercase supposed class names (#1544) This PR fixes a bug with supposed class names. Lowercase supposed class names are no longer highlighted. **Before**: ![before](https://user-images.githubusercontent.com/20878432/44656379-e7c17900-a9f8-11e8-8b1a-7f1dd694263e.png) **After**: ![after](https://user-images.github usercontent.com/20878432/44656379-e7c17900-a9f8-11e8-8b1a-7f1dd694263e.png)
Michael Schmidt 2b62e57b 2018-08-23T22:20:26 Added support for JS BigInt literals (#1542) Add support for BigInt literals to JS and languages extending or including JS.
Michael Schmidt 42d119a2 2018-08-23T16:47:45 SQL Quoted variables are now greedy (#1510) Behavior with quoted variables was incorrect for SQL. This fixes that issue by introducing a new regex for variables and making the current regex greedy. Fixes #1509.
Michael Schmidt 3e1a9a3d 2018-08-20T16:22:11 React component tags are styled as classes in JSX (#1519) The PR adds a class-name alias to all the tags of React components. Tags which start with an uppercase letter are considered React components. HTML tags remain unchanged. Fixes #1518.
Michael Schmidt c40f6047 2018-08-19T20:28:57 Highlighting of supposed classes and functions (#1482) Fixes #1471. It also extends function-variable to include object properties. e.g. ```js {foo: function() {}} ```
Michael Schmidt 7af8f8be 2018-08-19T17:09:29 C/C++/Java operator update (#1528) This PR extends and updates the operators of C, C++, and Java. Java and C++ now support the -> operator. (C++ had a bug.) The tests of all languages were updated and the operator pattern for each language is now shorter.
Michael Schmidt a59a7926 2018-08-19T16:47:52 Added support for quote escapes to SQL strings (#1500) Fixes #1454. Quotes that are escaped by using the same quote twice (e.g. 'It''s me') are now supported.
Michael Schmidt ebd1b9a6 2018-08-19T16:06:34 Fix regex for `catch` and `finally` (#1527) When called as methods on a promise chain, the current regex would mark `catch` and `finally` as keywords. This regex improvement ensures they're only caught as part of a `try / catch` block, and are marked as functions as part of the promise chain.
Andrew Assarattanakul 74fe81c6 2018-07-21T14:10:18 Fix bugs in JSON language * Fix numbers to include negative numbers. * Remove hexidecimal from numbers it is not a valid value. * Remove ) and ; from punctuation they are not valid punctuation. * Include missing tests for punctuation and operators.
Jakub Jankiewicz 12a827e7 2018-07-07T14:56:36 fix function without arguments in scheme language (#1463) * fix function without arguments in scheme language * update tests for scheme
James DiGioia 5f04f4d4 2018-06-16T11:34:56 Merge pull request #1440 from PrismJS/fix-solidity-protocol Fix Swift protocol