Delphi-RAG-Lint

drag-lint help

Symbol Search

Since: 0.1.0-alpha

Searches symbols by name across the indexed projects.

How to run it

Full flag list: query in the CLI reference.

Flags

FlagArgumentMeaningDefault
--name<symbol-name>
--db
--json
--case-sensitive
--exact

Where to click

  • RAD Studio main menu: drag-lint > Symbol Search...

Pitfalls

  • a project DB IS the compile closure, so a hit is membership and a MISS is non-membership.
  • STRING LITERALS, DFM, SQL and COMMENT PROSE -- // { } (* *) and ///. Filter with --kind: literal|const|resourcestring|format|comment|doc|dfm-prop|sql-exception. --kind literal is what this returned before comments were indexed.

Details

Searches symbols by name across the indexed projects. Reach for it to jump to a type, method, or field when you know (or can guess) its name but not its file.

Reaching it in the IDE

drag-lint > Symbol Search...

Keyboard shortcut: Ctrl+Alt+T.

Running it from the CLI

drag-lint query --name <symbol-name> [--db <file.sqlite>] [--json] [--case-sensitive] [--exact]
drag-lint query --qname <qualified> [--db <file.sqlite>] [--json] [--case-sensitive]

--name/--qname match case-insensitively by default (--case-sensitive restores byte-exact matching); --name also accepts a qualified name. --exact suppresses the fuzzy fallback, so zero rows means "no such symbol". The same lookup is also exposed over stdio as the language server's "workspace symbols" method (the Features page lists it under drag-lint lsp).

What it needs

The --db flag is optional -- drag-lint auto-resolves the index when omitted. An index must still exist.

Example

Illustrative only:

drag-lint query --name TCustomerOrder --db C:\Projects\MyApp\_D-RAG\MyApp.sqlite --json

This would return every symbol named TCustomerOrder (exact or fuzzy) as JSON.


All features | CLI reference | IDE menus