| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* crystal: drop all classes from builtins; these aren't normally highlighted
("normally" meaning all other highlighter tools)
* crystal: fix percent-strings, drop Ruby-specific arbitrary delimiters
It seems that Ruby supports strings such as `%*text*` where `*` can be anything. But Crystal never had anything like that. It does, however, keep `%|text|`, so add a case for that.
* crystal: update keywords and builtins
* crystal: fix string literals and escape sequences
Update list of escapes. Support Unicode escape sequences.
Also remove the Ruby-specific `:@foo` symbol syntax, Crystal doesn't have it.
* crystal: uppercase identifiers aren't always constants
Make `FOO::Bar` be highlighted like `Foo::Bar` would be, rather than like `FOO`
* crystal: annotations can be namespaced
Highlight the entire inside part of `@[Foo::Bar]`, not just the `Foo` part
(these used to be named 'attributes' but the official name is 'annotations' now, so I also change that)
* fixup! crystal: fix percent-strings, drop Ruby-specific arbitrary delimiters
|