lucica28
a7545fc9d2
replace libdparse in unused label check ( #65 )
2025-08-29 13:16:44 +03:00
lucica28
47dc93d6e1
replace libdparse in exception check ( #68 )
2025-08-29 13:16:44 +03:00
lucica28
faf939ab18
replace libdparse in useless assert ( #63 )
2025-08-29 13:16:44 +03:00
lucica28
3c3eb1f578
replace libdparse in statif if else visitor ( #56 )
2025-08-29 13:16:44 +03:00
lucica28
a6c7de97b7
replace libdparse in redundant parens check ( #61 )
2025-08-29 13:16:44 +03:00
lucica28
cd2b2e0af4
update dmd and include the API needed for semantic analysis ( #66 )
...
* update dmd and include the API needed for semantic analysis
* update libparse + initial implementation for properly documented public functions
* test
* refactor
* update workflows
* delete unused code
2025-08-29 13:16:44 +03:00
lucica28
c115d9f163
replace libdparse in backwards range check ( #58 )
2025-08-29 13:16:44 +03:00
lucica28
88ea8f974a
replace libdparse in builtin properties visitor ( #52 )
2025-08-29 13:16:44 +03:00
lucica28
9f961bf051
replace libdparse in logic precedence visitor ( #54 )
2025-08-29 13:16:44 +03:00
lucica28
b90511573d
replace libdparse in auto ref assignment ( #51 )
2025-08-29 13:16:44 +03:00
lucica28
1591f9a16a
replace libparse in opequals without tohash visitor ( #53 )
2025-08-29 13:16:44 +03:00
lucica28
117c48a5f3
replace libdpase in assert without msg visitor ( #50 )
2025-08-29 13:16:44 +03:00
lucica28
697e59d7d7
replace libdparse in local imports visitor ( #45 )
2025-08-29 13:16:44 +03:00
lucica28
35deff3302
replace libdparse in constructor check ( #43 )
2025-08-29 13:16:44 +03:00
lucica28
bba7536e41
replace libdparse in alias style visitor ( #38 )
2025-08-29 13:16:44 +03:00
lucica28
56f7d99a27
replace libdparse in explicitly annotated unittests check ( #44 )
2025-08-29 13:16:44 +03:00
lucica28
ec0d82e62c
replace libdparse in length subtraction visitor ( #42 )
2025-08-29 13:16:44 +03:00
lucica28
8bbaf8e93b
replace libdparse in redundant attributes visitor ( #40 )
2025-08-29 13:16:44 +03:00
lucica28
8a7fe0be62
replace libdparse in imports sortedness visitor ( #35 )
...
* replace libdparse in imports sortedness visitor
* minor refactor
2025-08-29 13:16:44 +03:00
lucica28
fa2a67d0ca
replace libparse in incorrect infinite range visitor ( #33 )
2025-08-29 13:16:44 +03:00
lucica28
3b9fe154a1
replace libparse in final attribute visitor ( #34 )
2025-08-29 13:16:44 +03:00
lucica28
0c470eaa50
replace libdparse in delete check ( #21 )
...
* replace libdparse in delete check
* delete comment
2025-08-29 13:16:44 +03:00
lucica28
7c9f8cb97b
replace libdparse in objectconst functionality + unittests integration with dmd ( #17 )
...
* replace libdparse in objectconst functionality + unittests integration with dmd
* updated dmd
* run tests
* use templates
* visit aggregate declaration
* updated dmd
* solve linter seg fault
* get rid of dup + refactor
* fix typo
2025-08-29 13:16:44 +03:00
Lucian Danescu
f6961acd7e
Replace libdparse in enum array functionality
2025-08-29 13:16:44 +03:00
WebFreak001
8612841365
fix compilation on old compilers
2023-10-25 08:49:37 +02:00
WebFreak001
42033dcc55
add BaseAnalyzerArguments to keep ctor changes sane
...
also immediately makes tokens a part of it
This struct can for example precompute token indices for line endings
2023-10-25 08:49:37 +02:00
Robert Schadek
b43c8f45cf
Always Check Curly
...
Check that if|else|for|foreach|while|do|try|catch
are always followed by a BlockStatement aka. { }
closer
can not get the test to work
try to get the AutoFix in place
maybe a fix
nicer messages
some formatting
more tinkering
still nothing
autofix work now
AutoFix name
message to message_postfix
2023-09-24 19:35:46 +02:00
WebFreak001
c1e051bfba
fix infinite allocating in context formatter
2023-07-10 13:57:27 +02:00
Jan Jurzitza
fed654441f
fix #916 autofix CLI, add integration test for it ( #917 )
2023-07-09 13:09:21 +02:00
WebFreak001
3345a1953a
improve public auto fix API
2023-07-08 23:09:33 +02:00
WebFreak001
43caad72a8
add CLI API to get autofixes at location
2023-07-08 23:09:33 +02:00
WebFreak001
53c9536332
add startIndex, endIndex support to format string
2023-07-08 23:09:33 +02:00
WebFreak001
4194e6af0c
add `dscanner fix` command
2023-07-08 23:09:33 +02:00
WebFreak001
48cec8a6f4
implement indentation aware autofixes
2023-07-08 23:09:33 +02:00
WebFreak001
93aae57469
add autofix testing API
2023-07-08 23:09:33 +02:00
WebFreak001
f12319d5a8
add autofix whitespace collapsing API
2023-07-08 23:09:33 +02:00
Christian Köstlin
35d2cf4177
feature: Provide predefined error format compatible with dmds output
...
an output parser that works with dmd / ldc just works (tm) witha
dscanner as well
2023-07-07 00:15:04 +02:00
WebFreak001
1201a68f66
Only call Win32 API to enable colored output once
2023-07-05 22:41:42 +02:00
WebFreak001
a676bb13fb
fix selective imports
2023-07-02 13:33:11 +02:00
WebFreak001
78f2b5a420
add colored output option
...
also adds a simpler way to invoke D-Scanner for users that uses this new
UI by default: `dscanner lint FILES...`
2023-07-02 13:33:11 +02:00
WebFreak001
146fec75d8
add index and endIndex to JSON formats
2023-06-29 17:43:30 +02:00
WebFreak001
b115a6333a
also add byte indices to diagnostic ranges
...
For tools wanting to read from the source file this makes it much easier
to look up the code.
2023-06-29 17:43:30 +02:00
WebFreak001
83eb9c5c2e
add built-in report formats incl. GitHub Actions
...
use on ourself and enable unused variables test to do first test in CI
2023-06-29 14:57:32 +02:00
WebFreak001
5c2035ff76
add end line/column to warnings
2023-06-29 13:19:36 +02:00
WebFreak001
93f338a5e7
fix logger warnings, for real this time
...
We should probably add a linter case for this
2023-05-19 23:12:16 +02:00
Mai-Lapyst
e2cc6e1ad2
Adds an check for `@disable`d functions that have an body; closes #897
2023-05-09 04:10:43 +02:00
Jan Jurzitza
5f1cf31ee0
hide dsymbol warnings, fix #890 ( #900 )
2023-05-09 03:34:08 +02:00
WebFreak001
2220812b96
Moved DSymbol into DCD
2022-10-14 14:30:10 +02:00
WebFreak001
cdf881c103
add cyclomatic complexity check
...
Fix #684
Disabled by default.
2022-02-11 20:17:23 +01:00
Shigeki Karita
7c54e445c6
Add max_line_length config
2022-01-21 13:24:35 +01:00