summaryrefslogtreecommitdiff
path: root/pygments
Commit message (Collapse)AuthorAgeFilesLines
...
* | Add Arrow lexer (#1481)Ken2020-06-212-0/+116
| | | | | | | | | | | | | | * Add Arrow lexer * Pass tests: raw string for regex * Make requested changes
* | Fix exception causes in lexer.pyRam Rachum2020-06-111-3/+3
|/
* Improve SystemVerilog class/endclass lexer rules (#1471)Chris Drake2020-06-061-8/+10
| | | | | | | | | | | The class looks like: class class_identifier [#(param_decls)] [extends class_identifier #(params)]; ... endclass [: class_identifier] Using the same Java convention of Keyword.Declaration and Name.Class. Add a test_systemverilog_classes unit test to test_hdl.
* add Singularity lexer (#1285)Georg Brandl2020-06-012-2/+36
| | | Co-authored-by: Bryton Hall <email@bryton.io>
* Nasm: Update register syntax for 64-bit (#1465)Jonas Bushart2020-06-011-1/+1
| | | | | | | x86_64 has 8 registers r8-r15. The current syntax only accepts them with a trailing letter. The letter is used to indicate the register size. However, r8 is also a valid register, for a 64 bit wide register. For reference on the register names see https://www.cs.uaf.edu/2017/fall/cs301/reference/x86_64.html
* SystemVerilog keyword/operator improvements (#1464)Chris Drake2020-06-011-14/+20
| | | | | | | | | | | | | | | | | | | | | | | | | * Move SystemVerilog type keywords Put them next to the generic keywords list. * Change a couple SystemVerilog keywords to operators The 'inside' and 'dist' keywords are described as operators in the SystemVerilog standard, below unary increment/decrement, and above concatenation in precedence. See 1800-2017 tables 11-1 and 11-2 for a list of operators. This matches the description of pygemnts Operator.Word token: "For any operator that is a word (e.g. not)." * Add a SystemVerilog operators unit test Copy/paste the contents of 1800-2017 Table 11-2, and see what the SV lexer chops it up into. I made lots of comments for potential improvements. Some operators, such as '[' and '.' are being labeled as punctuation. Also, multi-character operators such as '<<<=' are being split up into multiple, single-character tokens, eg '<' '<' '<' '='.
* Add GDScript lexer (#1457)Paweł Fertyk2020-06-013-0/+379
| | | | | | | | | | | | | | | | | | | | | * Added GDScript lexer * Fix regular expressions in GDScript lexer * Update GDScript lexer with the current version from Godot docs * Add tests for GDScript lexer * Update authors * Add an example file for GDScript * Implement analyze_text for GAP and GDScript * Fix example file name in tests * Update license Co-authored-by: Daniel J. Ramirez <djrmuv@gmail.com>
* Added separate lifetime lexing for RustEmre Ates2020-05-291-2/+7
|
* Merge pull request #1442 from amanotk/masterGeorg Brandl2020-05-271-4/+4
|\
| * fixed fortran literal regex patternTakanobu Amano2020-05-051-4/+4
| |
* | Change Verilog 'wo' to 'wor'Chris Drake2020-05-261-1/+1
| | | | | | | | | | There is no 'wo' keyword. This was probably supposed to be 'wor', short for "wired OR".
* | Update `Inform6Lexer` to Inform 6.34 (#1461)David Corbett2020-05-261-8/+10
| |
* | Update CHANGES, documentation.Matthäus G. Chajdas2020-05-261-1/+6
| |
* | Add lexer for Devicetree language (#1434)Maxime Chretien2020-05-262-0/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add lexer for Devicetree language Signed-off-by: Maxime Chretien <maxime.chretien@bootlin.com> * Devicetree lexer: fix random input test error Signed-off-by: Maxime Chretien <maxime.chretien@bootlin.com> * Devicetree lexer: fix example file reference Signed-off-by: Maxime Chretien <maxime.chretien@bootlin.com> * Devicetree lexer: Reduce example file size Also add some missing language elements Signed-off-by: Maxime Chretien <maxime.chretien@bootlin.com>
* | Update SystemVerilog literal constants (#1460)Chris Drake2020-05-261-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original implementation was missing some of the more arcane features such as underbars, the character 's' for signed/unsigned, support for spaces before/after the base specifier, capital letter base specifiers (ie 'B 'D 'H), and the 4-state 'xXzZ?' characters. For regular integers, the 'l' and 'L' suffixes are not valid. That is, unlike C, in Verilog '42L' is not a valid int literal. Create a new test that exercises most of the interesting kinds of SystemVerilog numbers. This fixes a couple minor issues with what type of number the lexer returns. For example, Numbers like '42' used to return Integer.Hex, but now return Integer.Decimal.
* | Add support for .tid files (TiddlyWiki5) (#1390)Max2020-05-242-1/+161
| | | | | | | | | | | | | | | | | | | | | | * add support for .tid files (TiddlyWiki5) * add lexers/_mapping.py * markup.py: change versionadded of TiddlyWiki5Lexer to 2.7 * markup.py, TiddlyWiki5Lexer: use non-greedy matcher for table headers, footers, captions and classes * markup.py, TiddlyWiki5Lexer: make timestamps of type Number.Integer
* | Merge branch 'master' of https://github.com/pygments/pygmentsMatthäus G. Chajdas2020-05-221-21/+25
|\ \
| * | Fix a few SystemVerilog type keywords (#1454)Chris Drake2020-05-221-21/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix a few SystemVerilog type keywords First, add a few missing type keywords: chandle, const, event, string, time, type, var, void These are most of the 'variable' types listed in 1800-2017 6.8 "Variable declarations". Currently, this 'Keyword.Type' is not taking effect because the lexer is finding these keywords in the 'Keyword' list above. Remove the double declaration so we get the more specific token type. * Change signed/unsigned to Keyword.Type This is what the C/C++ lexer does, so it seems legit.
* | | Update CHANGES, simplify analyse_text.Matthäus G. Chajdas2020-05-221-1/+0
|/ /
* | Update the Tera Term macro lexer (new 'setspeed' command) (#1337)Kurt McKee2020-05-221-46/+226
| |
* | General improvement to the C/C++ lexer (#1350)Hubert Gruniaux2020-05-222-41/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * General improvement to the C/C++ lexer * Add missing C11 keywords Add '_Imaginary', '_Static_assert', '_Atomic' keywords. * Highlight C11 std atomic types (#906) Add support for C11 atomic types `atomic_*`. * Extended character literals prefixes for C/C++ Add support for `u'a'`, `U'a'` (C++11, C11), and `u8'a'` (C++17, C2x). [Reference](https://en.cppreference.com/w/cpp/language/character_literal). [Reference](https://en.cppreference.com/w/c/language/character_constant). * Fix bad floating point highlighting in C lexer Fix bad highlighting for `5.`, where `.` was not highlighted. * Fix hex floating literal highlighting in C Hexadecimal floating point literals needs an exponent (`0x5p8`). Before this commit, event floating-point literals without an exponent were accepted (e.g. `0x5.5`). * Support '$' in identifiers, C/C++ Some old C/C++ compilers have supported `$` (dollar sign) in identifiers, and some news continue to support this for legacy reasons. That is, some codes may use them, and it is therefore preferable to color them correctly. * Cleaning and fixing some bugs in C/C++ lexer - Add '_Pragma' keyword - Recognize the identifier following 'typename' as Name.Class - Do not tokenize 'class' or 'struct' following 'enum' as Name.Class, but instead as Keyword (C++ lexer) - Move some C++ keywords to the generic lexer (`alignas`, `alignof`, etc...) - Add some C keywords (`noreturn`, `imaginary`, `complex`) - And others things... * Fix building errors in C/C++ lexer * Fix bug in C/C++ Now `class`, `struct`, `enum`, `union`, etc... can be used alone. Previously, the lexer do not recognizes them if they are not followed by an identifier. This regression was introduced in https://github.com/pygments/pygments/pull/1350/commits/013bf6af2777f6ba444e2c8e3a8ca3ad1bb1e674 by me. * Reuse old states names for C/C++ Some lexers depends on the old states names (e.g. `classname` state) to works. This commit, reintroduce these old names. * Improve C/C++ lexer documentation * Correct english errors in C lexer documentation * Cleaning and Unicode literals for C * Move Unicode literals from C++ to generic C * Remove useless 'classname' state in ECLexer * Revert "Remove useless 'classname' state in ECLexer" This reverts commit 89a0c138fbcc70883d8035b0585b7e94e49f73cc. * Revert "Revert "Remove useless 'classname' state in ECLexer"" This reverts commit 2d4734308a813abec6a17ea7fa6eb3a0b6f57939. * Add support for UCNs in C and C++ * Apply correction from #1162 Solves #1162 * Correctly highlights negatives numbers in C++ * Revert some changes from 8fe8ed6 * Add unicode suffixes to C++ raw string literals * Solves #1166 * Fix previous regression in C like lexer * Fix invalid regex in C like lexer * Fix #1396 and now are identifiers support UCNs in C and C++ lexer * Update AUTHORS * Add missing Python raw string prefix Co-authored-by: Hubert Gruniaux <42495291+HubertGruniaux@users.noreply.github.com>
* | Configs lexer: Allow Kconfig derivate names (#1458)Maxime Chretien2020-05-202-2/+2
| | | | | | | | | | | | In the linux source code a lot of files are named Kconfig.debug and there are also other derivatives like Kconfig.x86 or Kconfig-nommu Signed-off-by: Maxime Chretien <maxime.chretien@bootlin.com>
* | Make HttpLexer compatible with RFC 7230 (section 3.1.2). Specifically this ↵Joshua Huber2020-05-181-1/+1
| | | | | | | | addresses for the case where only a numeric HTTP status code is returned (eg. 200) and no textual reason phrase (eg. OK). Strictly according to RFC 7230, the whitespace just after the status code number is NOT optional, and in fact Tomcat 8.5 behaves this way, emiting status lines like "HTTP/1.1 200 \n" (note the whitespace after the 200). (#1432)
* | Add recent keywords for Dart syntax (#1449)Sam Rawlins2020-05-181-9/+10
| |
* | Python 3: remove "cmp" builtinGeorg Brandl2020-05-081-1/+1
| | | | | | | | fixes #1444
* | Matlabsession line continuation (#1399)Bryan W. Weber2020-05-061-16/+40
|/ | | | | | | | | | | | | | | | | | | | | | | | | | * Add explicit line continuation for Matlab session Matlab lines can be explicitly continued with the ... syntax at the end of a line. In the Session lexer, this requires continuing to the next line to add more text. Otherwise, the next line is marked as output. * The ellipses in Matlab should be a Keyword The built-in Matlab syntax highlighter highlights ... with the same formatting as a keyword. Everything after that on the line should be a comment. * Update Matlab functions and keywords from R2018a * Fix many spaces in assignment formatted as string In command mode, MATLAB allows mutiple space separated arguments to a function which are interpreted as char arrays, and are formatted as Strings. This check was also catching cases where there were multiple spaces following an assignment or comparison operation and formatting the rest of the line as a string. Now, if an = or operator is found, the commandargs state is popped and control returns to the root state. * Add tests for MATLAB formatting
* Add support for (System)Verilog escaped identifiers.whitequark2020-05-041-0/+2
| | | | | | | The escaped identifiers start with a backslash, end with whitespace, and can include any character that is not whitespace. See IEEE 1364-2005 §3.7.1 and IEEE 1800-2017 §5.6.1.
* Add SystemVerilog (IEEE 1800-2012) keywords (#1436)Chris Drake2020-05-011-21/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add SystemVerilog (IEEE 1800-2012) keywords See Table 22-6 -- IEEE 1800-2012 additional reserved keywords * implements * interconnect * nettype * soft * Add several SystemVerilog system tasks See IEEE 1800-2017 Chapter 20: "Utility system tasks and system functions". 20.2 : $exit $stop 20.3 : $realtime $stime $time 20.4 : $printtimescale $timeformat 20.5 : $bitstoreal $realtobits $bitstoshortreal $shortrealtobits $itor $rtoi $signed $unsigned $cast 20.6 : $bits $isunbounded $typename 20.7 : $unpacked_dimensions $dimensions $left $right $low $high $increment $size 20.8 : $clog2 $asin $ln $acos $log10 $atan $exp $atan2 $sqrt $hypot $pow $sinh $floor $cosh $ceil $tanh $sin $asinh $cos $acosh $tan $atanh 20.9 : $countbits $countones $onehot $onehot0 $isunknown 20.10: $fatal $error $warning $info 20.12: $asserton $assertoff $assertkill $assertcontrol $assertpasson $assertpassoff $assertfailon $assertfailoff $assertnonvacuouson $assertvacuousoff 20.13: $sampled $rose $fell $stable $changed $past $past_gclk $rose_gclk $fell_gclk $stable_gclk $changed_gclk $future_gclk $rising_gclk $falling_gclk $steady_gclk $changing_gclk 20.14: $coverage_control $coverage_get_max $coverage_get $coverage_merge $coverage_save $get_coverage $set_coverage_db_name $load_coverage_db 20.15: $dist_chi_square $dist_erlang $dist_exponential $dist_normal $dist_poisson $dist_t $dist_uniform 20.16: $q_initialize $q_add $q_remove $q_full $q_exam 20.17: $async$and$array $async$and$plane $async$nand$array $async$nand$plane $async$or$array $async$or$plane $async$nor$array $async$nor$plane $sync$and$array $sync$and$plane $sync$nand$array $sync$nand$plane $sync$or$array $sync$or$plane $sync$nor$array $sync$nor$plane 20.18: $system Also: * Replace '$test' '$plusargs' with '$test$plusargs'. * Add some comments for the remaining system tasks * Reorganize tasks into sections (w/ comments), according to spec Rather than just alphabetize this giant list, separate them into the sections by spec, then alphabetize within those sections. Hopefully, this will make it easier to extend in the future. * Fix typo: change 'wo' to 'wor' There is no 'wo' keyword. This was probably supposed to be 'wor', short for "wired OR".
* Add .perl as a Perl filename extensionGeorg Brandl2020-04-262-2/+2
| | | | fixes #1433
* Alphabetise all keywords in yang lexer (#1428)GRIBOK2020-04-181-21/+22
| | | | | * Alphabetise all keywords in yang lexer * fix typo in keyword of yang lexer
* remove duplicate keyword in yang lexergribok2020-04-131-2/+2
|
* Update nim (#1426)wltsmrz2020-04-131-3/+3
|
* Add lexer for YANG 1.1 (#1408)GRIBOK2020-04-132-0/+104
| | | | | | | | | | | | | | | | | | | * Add yang lexer for issue pygments/pygments#1407 * fix copyright statement * adjust examplefile for yang * fix to avoid duplicate code in lexer * add more testcases for yang lexer * simplify yang lexer * simplify default rule in yang lexer * change example yang file * add version to yang lexer
* a filter for math symbols (#1406)Gerwin Klein2020-04-131-0/+591
| | | | | | | | | * a filter for math symbols This filer replaces math symbols from e.g. LaTeX and Isabelle with corresponding unicode. It could be expanded to other math-heavy languages. * add "symbols" filter to basic tests
* Add execline lexer (#1393)Molly Miller2020-04-102-1/+63
| | | | | | | | | | | | | | | | | * Implement lexer for execline. This commit introduces a lexer for Laurent Bercot's execline scripting language (https://skarnet.org/software/execline) based on Pygments' existing bash lexer, with some minor adaptations for execline's variable naming rules. * Add versionadded note and website link to execline lexer. * Add execline to languages.rst and example execline script * Explicitly mark non-special characters in execline lexer as Text * Correct execline lexer version addded Co-authored-by: Molly Miller <sysvinit@users.noreply.github.com>
* A lexer for F*, an ML dialect for program verification (#1409)Denis Merigoux2020-04-102-6/+105
| | | | | | | | | | | | | | | | | | | * A lexer for F*, an ML dialect for program verification * Fix treatment of infix applications, e.g. * Correct modifications * Better lexing * Added F* to the list of supported languages * Add example file * Bumped versionadded field * Added link to language Co-authored-by: Jonathan Protzenko <jonathan.protzenko@gmail.com>
* Update CHANGES, docs, add versionadded.Matthäus G. Chajdas2020-04-101-0/+2
|
* Add Typographic Number Theory lexer (#1414)Ken2020-04-102-0/+246
| | | | | | | | | * Add Typographic Number Theory lexer Originally tried to use RegexLexer, but the structure of TNT is too rigid for it to handle. Went with a direct parser instead. Co-authored-by: lonetwin <steve@lonetwin.net>
* Update lexer for the Chapel programming language (#1423)Lydia Duncan2020-04-081-2/+2
| | | | | | | | | * Add the import keyword to the list of keywords * Update the website link at the top of the class While the old link still redirects to the new one, it's better to just have the new link (we've been using this link for a few years now so it's not actually that new, but still).
* Improve some lexer docstringsAdam Johnson2020-03-224-13/+13
|
* Lean: update to Lean 3Bryan Gin-ge Chen2020-03-141-45/+61
| | | | From the fork at https://bitbucket.org/gebner/pygments-main/src/default/
* Bump version to 2.6.1.2.6.1Matthäus G. Chajdas2020-03-081-1/+1
|
* Bump version to 2.6.0.2.6.0Matthäus G. Chajdas2020-03-081-1/+1
|
* Fix #1401.Matthäus G. Chajdas2020-03-071-4/+0
| | | | Remove a '__main__' handler from __init__.py.
* Merge pull request #1402 from lonetwin/masterMatthäus G. Chajdas2020-03-051-6/+7
|\ | | | | sql lexer: Add temporal support keywords
| * sql lexer: Add temporal support keywordslonetwin2020-02-291-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SQL:2011 introduced support for temporal databases[1] via new keywords to create and manage temporal tables. This patchset adds these new keywords to the sql lexer. One concrete example of these feature is the temporal tables support in MariaDB[2]. As evident from the code listing on that page, the syntax highlighting for these keywords is not as widespread as expected (I wouldn't be surprised if code listing on that page ultimately use pygments for syntax highlighting !) [1] https://en.wikipedia.org/wiki/SQL:2011 [2] https://mariadb.com/kb/en/temporal-data-tables/
* | Merge pull request #1405 from pygments/fix/1247Matthäus G. Chajdas2020-03-051-23/+35
|\ \ | | | | | | Fix #1247 by looking up in both HKLM and HKCU.
| * | Improve font handling code.Matthäus G. Chajdas2020-03-031-6/+9
| | | | | | | | | | | | | | | * Fix an issue raised in the review -- don't raise None no matter what. * Remove a few variables to make the control flow easier to understand
| * | Fix #1247 by looking up in both HKLM and HKCU.Matthäus G. Chajdas2020-03-021-23/+32
| |/ | | | | | | | | | | This is slightly different from the code posted inside the issue: * Use finally to close the registry key no matter what * Don't use break, but return directly on the first hit
* | Fix tests on Windows.Matthäus G. Chajdas2020-03-011-3/+20
|/ | | | | | | This fixes three test failures on Windows: * Two due to incorrect handling of : (on Windows, multiple : can be part of a path.) * One due to newline differences