summaryrefslogtreecommitdiff
path: root/pygments/lexers/lisp.py
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright year to 2023.Matthäus G. Chajdas2023-03-291-1/+1
|
* all: style fixesGeorg Brandl2022-10-271-0/+1
|
* Rework URL information in lexers.Matthäus G. Chajdas2022-03-201-7/+14
| | | | | | | | This commit adds a new url field to a lexer, which can be used to link to the language website, instead of relying on having the link in either languages.rst or the docstring of the lexer. Additionally, it changes the languages.rst file to auto-generate the list of lexers from the actual source code, using the provided URL.
* Merge branch 'master' of github.com:pygments/pygments; branch 'lexers_ijkl' ↵Matthäus G. Chajdas2022-02-201-12/+14
|\ | | | | | | of https://github.com/blu-base/pygments into blu-base-lexers_ijkl
| * Whitespace token for lisp lexersSebastian Engel2022-01-061-12/+14
| |
* | Scheme: recognize #: keywords (used for named function arguments)Jean Abou Samra2022-02-081-1/+2
| | | | | | | | | | Highlighting as Keyword.Declaration is consistent with the RacketLexer.
* | Scheme: support datum commented with #;Jean Abou Samra2022-02-081-13/+23
| | | | | | | | | | | | Previously, #; awaited an S-expression but could not cope with a simple datum like a number literal. While at it, also support R6RS brackets for S-expressions.
* | Scheme: autogenerate lists of builtinsJean Abou Samra2022-02-081-64/+20
| | | | | | | | | | | | | | This enriches the space of recognized builtins. Note that this also fixes the space after a builtin being included in the token.
* | Scheme: support fancy kinds of numbersJean Abou Samra2022-02-081-5/+122
| | | | | | | | | | Many number literals were not recognized previously, such as fractions, infinities, hex and complex literals.
* | Scheme: highlight string escapesJean Abou Samra2022-02-081-1/+18
| | | | | | | | | | Move string parsing to a dedicated state so it can recognize string escapes. Add support for various kinds of escapes.
* | Remove now redundant re.UNICODE and (?u) (#2058)Jean Abou-Samra2022-01-311-5/+5
| |
* | Happy new year.Georg Brandl2022-01-251-1/+1
| |
* | Fix typos (#2030)Kian-Meng Ang2022-01-181-1/+1
|/
* Add lexer and style for LilyPond (#1845)Jean-Abou-Samra2021-11-211-16/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add lexer and style for LilyPond GNU LilyPond is a text-based music typesetter. Because its concepts are completely different from programming languages, this adds a special-purpose to highlight the special tokens. The SchemeLexer is expanded to gain the ability of detecting when one expression stops. LilyPondLexer subclasses SchemeLexer. Builtins (the most important part) are generated with a script put in external/ (as was already done for Lasso). As part of this change, the CPSALexer is made no longer to inherit from SchemeLexer. The inheritance was unused anyway. * Fixup: translators names have underscores * Fixup: avoid duplicate builtins * Fixup: update goldens * Fixup: typo * Fixup: add missing tokens to style * Fixup: update lexer comments * Fixup: Tentative style adjustments * Fixup: move test file to examplefiles/ * Fixup: miscellaneous fixes (to be finished) * Fixup: escape all braces * Fixup: use Text, not Whitespace * Fixup: fixes for lexing and style * Fixup: update goldens! * Fixup: also test alist assignments * Fixup: recognize escape sequences in strings * Fixup: use Comment.Single * Fixup: Whitespace, not Text! * Fixup: fix pitch parsing * Fixup: update comment * Fixup: remove redundant re.UNICODE
* Update Fennel lexer to include forms from latest version. (#1862)Phil Hagelberg2021-07-181-14/+17
| | | | | Treat true/false/nil as constants. Also separate out declarations from other special forms and macros.
* uniformize aliases order (#1780)Mestery2021-04-261-1/+1
| | | | | * uniformize aliases order * LighttpdConfLexer: add lighttpd.conf filename
* Run pyupgrade across codebase to modernize syntax and patterns (#1622)Jon Dufresne2021-01-171-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | pyupgrade is a tool to automatically upgrade syntax for newer versions of the Python language. The project has been Python 3 only since 35544e2fc6eed0ce4a27ec7285aac71ff0ddc473, allowing for several cleanups: - Remove unnecessary "-*- coding: utf-8 -*-" cookie. Python 3 reads all source files as utf-8 by default. - Replace IOError/EnvironmentError with OSError. Python 3 unified these exceptions. The old names are aliases only. - Use the Python 3 shorter super() syntax. - Remove "utf8" argument form encode/decode. In Python 3, this value is the default. - Remove "r" from open() calls. In Python 3, this value is the default. - Remove u prefix from Unicode strings. In Python 3, all strings are Unicode. - Replace io.open() with builtin open(). In Python 3, these functions are functionally equivalent. Co-authored-by: Matthäus G. Chajdas <Anteru@users.noreply.github.com>
* Bump copyright year.Matthäus G. Chajdas2021-01-031-1/+1
|
* all: weed out more backtracking string regexesGeorg Brandl2020-12-251-6/+6
|
* all: remove "u" string prefix (#1536)Georg Brandl2020-09-081-770/+770
| | | | | | | | | | | * all: remove "u" string prefix * util: remove unirange Since Python 3.3, all builds are wide unicode compatible. * unistring: remove support for narrow-unicode builds which stopped being relevant with Python 3.3
* fennel: fixup string regexGeorg Brandl2020-09-071-1/+1
|
* Avoid catastrophic backtracking.Phil Hagelberg2020-09-071-1/+1
| | | | as advised in https://github.com/pygments/pygments/pull/1535/files/f581f2892154e8e4ed673ab940abf8af43ebe66b#r484028618
* Add support for # as lambda shorthand.Phil Hagelberg2020-09-071-0/+3
|
* Remove old python-2-style strings.Phil Hagelberg2020-09-071-17/+17
|
* Update Fennel keywords to catch up to version 0.6.0.Phil Hagelberg2020-09-071-10/+14
| | | | | | Remove support for single-quoted strings. Update fennelview example to latest version of library.
* all: use yield from (#1537)Georg Brandl2020-09-061-3/+1
|
* all: fixup remaining regexlint warningsGeorg Brandl2020-09-061-1/+1
|
* Update copyright year (fixes #1514.)Matthäus G. Chajdas2020-08-221-1/+1
|
* Update project to use modern Python features and idiomsJon Dufresne2019-11-251-13/+13
| | | | | | | | | | Run the pyupgrade tool across the project to use modern language features. - Use set literals - Use dict comprehension - Remove unnecessary numeric indexes in format string - Remove unnecessary extra parentheses
* Elisp: add more string functions (bitbucket PR #841)Georg Brandl2019-11-241-2/+3
|
* Fixup all headers and some more minor problems.2.4.2Georg Brandl2019-05-281-1/+1
|
* Merged in jkmartindale/pygments-main (pull request #775)Anteru2019-03-061-14/+86
|\ | | | | | | | | | | Fix external links in RdLexer and NewLispLexer Approved-by: James Martindale <atlassian@jkmartindale.com>
| * Merged in vodik/pygments-main/hylang-colon-in-identifiers (pull request #754)Anteru2018-12-071-1/+1
| |\ | | | | | | | | | Hy lexer should accept colons inside identifiers
| | * Hy lexer should accept colons inside identifiersSimon Gomizelj2018-04-051-1/+1
| | | | | | | | | | | | | | | Colons inside identifiers are completely legal in this Lisp dialect. Also prevents the lexer from catching on Python literals when lexing REPL output.
| * | Merge heads.Georg Brandl2018-11-281-10/+10
| |\ \
| | * | Fix invalid escapes due to missing raw string prefix.Georg Brandl2018-11-281-6/+6
| | | |
| | * | Fix remaining 'DeprecationWarning: invalid escape sequence' occurrences in ↵Andreas Kloeckner2018-06-191-4/+4
| | |/ | | | | | | | | | lexer files
| * | Minimal fixup changes for the release, add release date.2.3.0Georg Brandl2018-11-251-1/+4
| | |
| * | Merged in technomancy/pygments-main/fennel (pull request #783)Anteru2018-11-241-1/+70
| |\ \ | | | | | | | | | | | | Add support for the Fennel programming language
| | * | Add support for the Fennel programming languagePhil Hagelberg2018-11-161-1/+70
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | This is a pretty straightforward language in the lisp family with a small number of special forms. Since Fennel runs on the Lua runtime, the list of builtins is the same as that of Lua, so it might be possible to re-use the definition from the Lua lexer, but since I don't know Python I couldn't figure out how that would work; maybe someone else could add that.
| * | PEP 479: Raising StopIteration from a generator is now an errorMiro Hron?ok2018-07-041-2/+2
| |/ | | | | | | | | | | So we return instead. Fix needed for Python 3.7. Fixes https://bitbucket.org/birkenfeld/pygments-main/issues/1457
* | Fix external links in RdLexer and NewLispLexerJames Martindale2018-07-161-1/+1
|/
* Copyright update.Georg Brandl2017-01-221-1/+1
|
* Add support for partials and path segments for Handlebars.Christian Hammond2016-11-041-0/+2621
This introduces support for some missing features to the Handlebars lexer: Partials and path segments. Partials mostly appeared to work before, but the `>` in `{{> ... }}` would appear as a syntax error, as could other components of the partial. This change introduces support for: * Standard partials: `{{> partialName}}` * Partials with parameters: `{{> partialName varname="value"}}` * Ddynamic partials: `{{> (partialFunc)}}` * Ddynamic partials with lookups: `{{> (lookup ../path "partialName")}}` * Partial blocks: `{{> @partial-block}}` * Inline partials: `{{#*inline}}..{{/inline}}` It also introduces support for path segments, which can reference content in the current context or in a parent context. For instance, `this.name`, `this/name`, `./name`, `../name`, `this/name`, etc. These are all now tracked as variables.