mirror of
https://github.com/l0ng-ai/openidea.git
synced 2026-11-06 16:08:05 +00:00
- Graphviz: `.dot` / `.gv` files open beside a live preview (a web view rendering with Graphviz compiled to WebAssembly) in any layout engine, with zoom, pan, Fit and SVG / PNG export through the save dialog. What Graphviz reports goes from the page to the plugin's code, which publishes it as problems on the named line. A DOT language, file icons and a New Graphviz Graph template. - Regex Tester: a tool window whose html view sends pattern, flags, text and replacement as you type; the plugin matches with Rust's regex (linear time) and answers with matches, groups and the replacement in UTF-16 offsets. Use Selection and Test Selection take the editor's selection. - License Header: files without a copyright / SPDX header are reported when they open and on save; a quick fix and a command add one in the file's comment syntax (after a shebang or encoding line); a project scan in a background task reports the rest. Holder and license are settings. - Harbor Night becomes an official plugin and the one source of the theme files: `openidea-plugin new --template theme`, the theme docs and tests start from it. - Tool windows' renders and events carry the window's active editor, as commands do, so a view's buttons can act on what the user is editing. - knip leaves plugins' web pages (projects of their own) alone.
25 lines
829 B
TypeScript
25 lines
829 B
TypeScript
import type { KnipConfig } from "knip";
|
|
|
|
const config: KnipConfig = {
|
|
// Entries come from the Vite (index.html), Vitest, Playwright and package.json script plugins.
|
|
project: [
|
|
"src/**/*.{ts,tsx,css}",
|
|
"!src/editor/core/cm/angular/parser.terms.ts",
|
|
"!src/editor/core/cm/jsp/parser.terms.ts",
|
|
"scripts/**/*.ts",
|
|
"perf/**/*.ts",
|
|
"e2e/**/*.ts",
|
|
],
|
|
// Plugins' web pages are projects of their own (own package.json, checked by plugins/build.sh and CI).
|
|
ignore: ["plugins/**/web-src/**"],
|
|
ignoreExportsUsedInFile: true,
|
|
// lint-staged formats Rust files with the toolchain's rustfmt.
|
|
ignoreBinaries: ["rustfmt"],
|
|
compilers: {
|
|
// Fonts come in through `@import` in global.css.
|
|
css: (text: string) => [...text.matchAll(/(?<=@)import[^;]+/g)].join("\n"),
|
|
},
|
|
};
|
|
|
|
export default config;
|