|
73d964be
|
2019-06-08T20:15:08
|
|
Added support for JQ language (#1896)
This adds support for the JQ language.
|
|
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.
|
|
feb3187f
|
2019-05-28T21:38:42
|
|
Julia: Add the ’in’ keyword (#1918)
Added the missing `in` keyword.
|
|
3de29e72
|
2019-05-28T14:23:02
|
|
C++: Fixed C++ number pattern (#1887)
|
|
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`.
|
|
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.
|
|
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`.
|
|
4faa3314
|
2019-05-07T20:09:47
|
|
Add async / await keywords for Rust. (#1882)
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
191830f2
|
2019-03-24T20:06:42
|
|
Scheme: Minor improvements (#1814)
Minor improvements for the Scheme language.
|
|
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.
|
|
30779976
|
2019-03-20T22:10:17
|
|
Added support for CMake language (#1820)
This adds support for the [CMake](https://cmake.org/) language.
|
|
f2d8e1c7
|
2019-03-14T15:03:11
|
|
JS: Keyword fix (#1808)
This fixes false positives with properties which have the same name as keywords.
|
|
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.
|
|
f2467488
|
2019-03-10T18:53:08
|
|
Django/Jinja2 improvements (#1800)
This completely rewrites the Django language definition. It's now based on markup-templating.
|
|
af67c32e
|
2019-03-10T18:44:30
|
|
Markup `addInline` improvements (#1798)
This makes some minor improvements to the new `addInline` function of markup.
|
|
b2298b12
|
2019-03-10T15:45:40
|
|
Added GraphQL improvements and tests (#1788)
This makes some improvements to GraphQL and expands the existing tests.
|
|
a2d445d0
|
2019-03-06T13:22:08
|
|
CSS: Selectors can contain any string (#1638)
This fixes that certain attribute value strings break the selector pattern.
|
|
c37c90df
|
2019-03-05T22:17:36
|
|
Added EJS (#1769)
This adds the EJS (Embedded JavaScript templates) language to Prism.
|
|
c805f859
|
2019-03-05T16:56:13
|
|
Ruby/ERB: Fixed block comments (#1768)
This fixes block comments in Ruby and ERB.
|
|
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.
|
|
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.
|
|
16f2ad06
|
2019-03-04T22:59:24
|
|
Added T4 Text Templates (#1699)
This adds T4 Text Templates in both the C# and VB language variants.
|
|
245b59d4
|
2019-03-04T22:17:23
|
|
CSS: Highlight attribute selector (#1671)
This adds highlighting for CSS attributes selectors in CSS Extras
|
|
f8c8add2
|
2019-03-03T14:10:47
|
|
Fixed operator-like functions in Scheme (#1467)
This fixes operator-like functions in Scheme.
|
|
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.
|
|
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.
|
|
493d19ef
|
2019-02-28T21:01:31
|
|
Added doc comment highlighting (#1541)
This adds support for JavaDoc, JSDoc, TSDoc, and PHPDoc.
|
|
bb628606
|
2019-02-28T20:19:45
|
|
Added JS Extras (#1743)
This adds JS Extras, a few additional features for the JS language.
|
|
3560c643
|
2019-02-28T20:12:11
|
|
JS: Fixed variables named "async" (#1738)
Fixes variables names "async" in JS.
|
|
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.
|
|
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.
|
|
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.
|
|
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`.
|
|
64dc049d
|
2019-02-28T19:28:22
|
|
Added JSON5 language (#1744)
This adds the JSON5 language to Prism.
|
|
13e1c97d
|
2019-02-28T19:23:25
|
|
Added EBNF language (#1756)
This adds the EBNF language.
|
|
1df96c55
|
2019-02-28T19:18:05
|
|
Added BNF and RBNF languages (#1754)
This adds the BNF and RBNF languages.
|
|
6d98f0e7
|
2019-02-28T19:10:37
|
|
Added ANBF language (#1753)
This adds a new language: ANBF (Augmented Backus–Naur form).
|
|
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.
|
|
d9fa29a8
|
2019-02-15T16:03:59
|
|
Make `undefined` a keyword in JS (#1740)
|
|
fccfb98d
|
2019-02-14T01:25:25
|
|
Added `pnpm` function to Bash (#1734)
This adds `pnpm` to the list of supported functions in Bash.
|
|
3a32cb75
|
2019-02-13T22:33:38
|
|
Added `yarn add` to bash functions (#1731)
Adds `yarn add` to bash functions.
|
|
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).
|
|
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.
|
|
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.
|
|
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.
|
|
b94b56c1
|
2019-01-15T15:54:35
|
|
Added the Nand2Tetris HDL language (#1710)
This adds support for the [Nand2Tetris](https://www.nand2tetris.org/) HDL language.
|
|
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`.
|
|
7def8f5c
|
2019-01-03T23:52:27
|
|
Added N1QL language support (#1620)
Adds support for[N1QL](https://www.couchbase.com/products/n1ql) for Couchbase.
|
|
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.
|
|
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.
|
|
c939df8e
|
2018-12-27T20:56:24
|
|
Added support for HCL (#1594)
Adds support for HCL ([HashiCorp configuration language](https://github.com/hashicorp/hcl)).
|
|
4f6f3c7d
|
2018-12-24T17:28:06
|
|
Allow multiline CSS at-rules (#1676)
Allows for CSS at-rules containing line breaks.
|
|
b48c012c
|
2018-12-15T20:32:22
|
|
Added Vala language (#1658)
Adds support for the Vala language.
|
|
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.
|
|
8b1bb469
|
2018-12-03T15:34:30
|
|
Added additional operators to Reason (#1648)
This adds the `|>` and `->` operators to Reason.
|
|
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`.
|
|
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.
|
|
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) {}
```
|
|
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.
|
|
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"{'}'}"`.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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/).
|
|
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.
|
|
c988936b
|
2018-12-01T19:46:13
|
|
Resolved merge conflict
|
|
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.
|
|
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).
|
|
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.
|
|
1d1fb800
|
2018-11-29T13:43:22
|
|
Python: Operator keywords are now keywords (#1617)
Change `and`, `not`, and `or` to keywords.
|
|
3590edde
|
2018-11-29T12:25:28
|
|
Add missing keywords to rust. (#1634)
Adds `dyn`, `Self`, and `union` to the list of rust keywords.
|
|
38def334
|
2018-11-28T17:45:17
|
|
Add new language: CIL (#1593)
Add support for the Common Intermediate Language from .NET.
|
|
c6584290
|
2018-11-28T16:12:09
|
|
Fixed Markdown headers (#1557)
This PR fixed markdown header of the form:
```
Überschrift
-----------
```
|
|
a2230c38
|
2018-11-28T14:26:31
|
|
Add additional commands to bash (#1577)
Includes "apt", "apt-cache" or "parted" and others.
|
|
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
|
|
7ea2ff28
|
2018-11-24T10:54:26
|
|
Added the comma to the list of CSS punctuation
|
|
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.
|
|
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.
|
|
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.
|
|
11695629
|
2018-10-18T20:34:53
|
|
Enhance definitions in TypeScript component (#1522)
Add missing keywords & built-ins to the TypeScript definition.
|
|
f96b083a
|
2018-09-23T15:20:05
|
|
F#: Chars can only contain one character (#1570)
This PR fixes #1480.
|
|
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)
|
|
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.
|
|
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.
|
|
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.
|
|
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() {}}
```
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
5f04f4d4
|
2018-06-16T11:34:56
|
|
Merge pull request #1440 from PrismJS/fix-solidity-protocol
Fix Swift protocol
|