Commit Graph

125 Commits

Author SHA1 Message Date
andrey.matveev
f84e2d8452 PY-49697 Fix false positive for metaclass overloaded __or__
(cherry picked from commit d8e327da30c0b359c8eb3b890c72c41a9c3c4444)

IJ-MR-11817

GitOrigin-RevId: a21ecb8b66e3510abc4401ac351789a858482463
2021-07-16 11:34:14 +00:00
andrey.matveev
ebe8f93812 PY-44974 PEP 604: Support Python3.10 unions
Support | syntax for python unions.
Also support type | None as a new style for Optional.
Fix highlighting unresolved reference issues with | syntax.
Type inference from isinstance and issubclass.
Add quick fix to switch to old-style syntax in earlier python versions (<3.10)
Fix quick documentation to render new syntax.

(cherry picked from commit 6a64ee12c2d8503a0ef102e8b67cb0b95ce77999)

IJ-MR-8400

GitOrigin-RevId: c26b868fc61f26936a3316ec06f78b66d75f6857
2021-06-14 14:38:25 +00:00
Mikhail Golubev
8a40ce95d7 PY-48008 Add highlighting for "match" and "case" keywords
GitOrigin-RevId: 86aaf29e7a721df032e0893c61e4137c587ce90c
2021-05-24 10:28:32 +00:00
Dmitry Jemerov
749ce8a332 Cleanup: remove @author tags
GitOrigin-RevId: 9174eb8d77215b16f9f6c6074e6aced654d95ef1
2021-05-03 13:07:48 +00:00
Semyon Proshev
56a1c00c2a Make python-latest project descriptor default in tests
Update test data and reduce manual language level setup

GitOrigin-RevId: d6ddec1b2b29a2b7f1a34cfb5982fd975de78d65
2021-03-15 17:33:04 +00:00
Semyon Proshev
476989b083 Highlight assignment expressions used in iterables in comprehensions (PY-43619)
GitOrigin-RevId: a980602a3e90bbcfd5db03e828a5ad2a8a339569
2020-11-24 17:35:01 +00:00
Semyon Proshev
48a952a327 Make parser stricter for for statements and expressions (PY-36478)
Now it more follows original python grammar.

GitOrigin-RevId: 199f30b819c85a4eba5cab9b3f67fbf1bb7f18b6
2020-11-24 17:35:00 +00:00
andrey.matveev
11c12e56c9 PY-33235 Add highlighting annotator for nested functions
GitOrigin-RevId: 0329f4af71bb86128531ab92c581a407339e1c7d
2020-08-13 17:37:39 +00:00
Lada Gagina
2e617b803c IDEA-CR-63687: PY-41305 Add PEP 614 support
Allows to use any expression as a decorator

GitOrigin-RevId: e92af1ebd2c4d7024971fd4542bfe52640faaa26
2020-06-17 00:30:49 +03:00
Mikhail Golubev
5c9ec47997 PY-35961 Report missing parentheses in return/yield depending on language version
Previously it was done unconditionally for all Python versions in StarAnnotator.
I moved the corresponding checks from there to CompatibilityVisitor so that
it was clear in which particular versions it's mandatory.

GitOrigin-RevId: 205de8768431445baed98aecd5f9820efe28d281
2019-10-14 17:02:52 +00:00
Semyon Proshev
d50b3ad7ea Don't mark continue in finally block as an error in Python 3.8+ (PY-36003)
Enable a test that no one is care of.

GitOrigin-RevId: ccc520d6ab6d40117b5ff69ffe908ef135c6a08b
2019-08-15 22:02:02 +03:00
Semyon Proshev
2a559ec31a Don't mark named unicode character as an error in Python 3.8+ (PY-36004)
GitOrigin-RevId: 59b52a42e5c820a6603e6734e768f035c5c593e5
2019-08-01 16:03:35 +03:00
Semyon Proshev
ccc2156cf9 Add parsing for assignment expressions (PEP 572) (PY-33886)
Highlight expressions that are invalid by grammar or unacceptable in runtime
Highlight expressions in pythons < 3.8

GitOrigin-RevId: 89acec9db5b3a931da31c33778185e147240ec01
2019-07-02 06:52:16 +03:00
Rustam Vishnyakov
123242c4b2 EditorConfig documentation test
GitOrigin-RevId: fd52ace3d7a32ecd02c2c5ab90e077967604c15e
2019-06-16 04:03:21 +03:00
Egor Zhdan
c1813cfb52 Cleanup: NotNull/Nullable
GitOrigin-RevId: b8e892f32ea84c2115973155dba7127b892cc36e
2019-06-16 04:02:08 +03:00
Anna Kozlova
91f7445298 constructor reference: don't ignore constructor parameters during method reference inference (IDEA-185578)
GitOrigin-RevId: e836468e05db28157713e9edd3c70382f8ecdebc
2019-06-13 03:15:49 +03:00
Egor Zhdan
39d2d77155 Cleanup: NotNull/Nullable
GitOrigin-RevId: b8e892f32ea84c2115973155dba7127b892cc36e
2019-06-13 03:14:35 +03:00
Julia Beliaeva
3fee046d20 [vcs-log] cleanup RootCellRenderer
GitOrigin-RevId: bba216626193ac756cd133b8ae9bc4e577abea42
2019-06-10 04:10:14 +03:00
Eldar Abusalimov
dcaeb8f8c7 OC-4061: ApplicationUtil: Make runWithCheckCanceled() return result
GitOrigin-RevId: 3aa9f23cc5097e644eddf82a4faca669759b4760
2019-06-10 04:09:35 +03:00
Semyon Proshev
d7e8ebf1ef Parsing for positional-only parameters (PEP 570) (PY-35512)
GitOrigin-RevId: c568de8ebdb4f9b73cd5e2f9cb4a17184092ee22
2019-06-04 19:11:50 +03:00
Semyon Proshev
7a0b54426e Highlight bytes and non-bytes literals in Python 3+ (PY-32321) 2018-11-06 17:15:10 +03:00
Semyon Proshev
0d9bf8ebff Enable highlighting error elements in type hints (PY-20530) 2018-06-13 23:12:46 +03:00
Anton Bragin
ca5a65abc1 PY-28313 Highlighting updated to treat *args/**kwargs as a single item 2018-04-05 14:37:50 +03:00
Semyon Proshev
19699cde61 Fix and unify calculating corresponding loop for break and continue (PY-23189) 2018-03-15 17:41:26 +03:00
Semyon Proshev
6a09e252eb Support __class_getitem__ (PY-27913)
Update resolve for `[]` on definitions so `__class_getitem__` is supported.
Support this method (and `__mro_entries__`) in highlighting and completion.
Process it as a static method.
2018-02-05 18:29:15 +03:00
Semyon Proshev
408d0b8314 Deprecate Python 3.3 language level. Remove its usages (PY-27705) 2018-02-01 19:53:39 +03:00
Semyon Proshev
3053152d80 Deprecate Python 3.2 language level. Remove its usages (PY-27705) 2018-02-01 19:53:39 +03:00
Semyon Proshev
c57210dc3e Deprecate Python 3.0 language level. Remove its usages (PY-27705) 2018-02-01 19:53:38 +03:00
Semyon Proshev
c471398267 Parse and highlight async and await as keywords in Python 3.7+ (PY-28247)
Update compatibility inspection to raise warning only if Python 3.7+ is marked
2018-02-01 15:21:50 +03:00
Semyon Proshev
c17a9024d9 Highlighting tests for module builtin methods (PY-28017) 2018-01-22 21:43:36 +03:00
Semyon Proshev
51eaba1aa2 Highlight module builtin methods as not allowed to be async (PY-28017) 2018-01-22 21:43:36 +03:00
Elizaveta Shashkova
e5b6c6cc09 Highlight built-in decorators with decorators colors, not not built-in colors (PY-25381) 2017-12-18 18:49:12 +03:00
Semyon Proshev
44a9986bdb Mark duplicated *args and **kwargs as not allowed (PY-26491) 2017-11-20 17:11:05 +03:00
Semyon Proshev
c5cd1a2712 Increase runWithLanguageLevel usages instead of setLanguageLevel 2017-10-31 21:25:45 +03:00
Semyon Proshev
55949b3eb4 Fix highlighting for empty raises (PY-26510) 2017-10-23 19:42:13 +03:00
Mikhail Golubev
d5fb34404e PY-20401 Use a lower highlighting level for annotations
So that other annotations, such as the one for builtin symbols, always
have priority over it, but it still was possible to, say, add
a background color or a font style for type annotations using this new
settings.
2017-10-09 14:56:50 +03:00
Mikhail Golubev
0dd7aef0c1 PY-20401 Don't highlight anything else inside highlighted annotations 2017-10-09 14:56:50 +03:00
Mikhail Golubev
9ec3e6edfd PY-22729 "Parameter" in highlighting settings covers only their names
Previously, it also included type annotations unless a parameter also
had a default value.
2017-10-09 14:56:50 +03:00
Mikhail Golubev
bd89c88b51 PY-11418 Remove redundant color scheme setup from the test 2017-10-09 14:56:50 +03:00
Mikhail Golubev
e6fde8b92f PY-20401 Add highlighting for function and variable annotations 2017-10-09 14:56:50 +03:00
Mikhail Golubev
4ccdd97276 PY-11418 Add a setting in syntax highlighting for qualified calls
So far they're called "function calls" and "method calls" respectively,
though strictly speaking, these are rather "unqualified calls" and
"qualified calls" because we don't distinguish between function and
constructor calls, as well as method and qualified function calls
to avoid costs of proper resolving in the highlighting pass.
2017-10-09 14:56:50 +03:00
Mikhail Golubev
e9a5faf2fb PY-11418 Allow to highlight names in call expressions 2017-10-09 14:56:50 +03:00
Andrey Vlasovskikh
cb678d53f3 PY-12634 Highlight decorator with space between '@' and name
Added the same highlighting for '@' as for the name.
2017-07-03 18:29:06 +03:00
Mikhail Golubev
2dfb0f8d48 PY-20901 Warn about too deeply nested expression fragments inside f-strings 2016-10-05 16:11:37 +03:00
Mikhail Golubev
168bb52083 PY-20897 Detect and warn about single '}' inside f-strings 2016-10-05 16:11:37 +03:00
Semyon Proshev
bd19e02dd5 PY-20770 Fixed: Support Python 3.6 asynchronous generators and comprehensions
Update CompatibilityVisitor to highlight "await" inside comprehensions in Python 3.5
2016-09-30 18:09:37 +03:00
Semyon Proshev
464ade6789 PY-20770 Fixed: Support Python 3.6 asynchronous generators and comprehensions
Update CompatibilityVisitor to highlight "async" inside comprehensions and generator expressions in Pythons < 3.6
2016-09-30 18:06:02 +03:00
Semyon Proshev
0e61667352 PY-20770 Fixed: Support Python 3.6 asynchronous generators and comprehensions
Update highlighting and compatibility visitor to correctly process async generators described in PEP 525
2016-09-30 17:59:50 +03:00
Mikhail Golubev
654ac30429 PY-20844 PY-20773 Warn about '#' signs and backslashes inside f-strings 2016-09-26 09:09:23 +03:00
Mikhail Golubev
6ea142ef97 PY-20778 Report illegal conversion characters after '!' inside f-strings 2016-09-26 09:09:23 +03:00