Commit Graph

64 Commits

Author SHA1 Message Date
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