Your One-Stop Publication Workbench
This report summarizes scanner evidence for Zettlr/Zettlr, a TypeScript project with 13,842 GitHub stars. SynthScan examined 160,535 lines of code across 793 source files, recording 188 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 1.7 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 99 finding(s).
Are imports declared and package/API names verified? 69 finding(s).
Are wrappers, guards, and repeated structures necessary? 54 finding(s).
Which changes need focused human review? 188 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 188 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | CHANGELOG.md | 4597 | - HTML-style comments (`<!-- Lorem Ipsum -->`) are now also exempt from the word counting. | CODE |
| LOW | test/counter.spec.ts | 57 | input: '---\ntitle: "Some title"\nkeywords:\n - one\n - two\n - three\n...\n\n# Heading\n\nLorem Ipsum dolor, sit | CODE |
| LOW | test/extract-yaml-frontmatter.spec.ts | 33 | author: 'Jane Doe', | CODE |
| LOW | test/extract-yaml-frontmatter.spec.ts | 47 | author: 'Jane Doe', | CODE |
| LOW | source/common/vue/form/elements/FileControl.vue | 10 | v-bind:placeholder="placeholder" | CODE |
| LOW | source/common/vue/form/elements/TextControl.vue | 18 | v-bind:placeholder="placeholder" | CODE |
| LOW | source/common/vue/form/elements/AutocompleteText.vue | 13 | v-bind:placeholder="placeholder" | CODE |
| LOW | scripts/test-gui/test-files/README.md | 3 | You are viewing the Zettlr testing environment. This normally means that you have run the `yarn test-gui` command, so in | CODE |
| LOW | …st-gui/test-files/Miscellaneous/Export Link Removal.md | 17 | Lorem Ipsum [[file]] dolor sit | CODE |
| LOW | …st-gui/test-files/Miscellaneous/Export Link Removal.md | 21 | Lorem Ipsum [[this is some file]] dolor sit | CODE |
| LOW | …ipts/test-gui/test-files/Syntax Highlighting/Config.md | 29 | ENV myName="John Doe" myDog=Rex\ The\ Dog \ | CODE |
| LOW | …ts/test-gui/test-files/Rendering/Generic Document 2.md | 41 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna ali | CODE |
| LOW | …ts/test-gui/test-files/Rendering/Generic Document 2.md | 41 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna ali | CODE |
| LOW | scripts/test-gui/test-files/Rendering/Math.md | 84 | Lorem ipsum dolor sit amet, $a^2 + b^2 = c^2$ consectetur adipiscing elit. Nam eros velit, fringilla et magna nec, posue | CODE |
| LOW | scripts/test-gui/test-files/Rendering/Math.md | 84 | Lorem ipsum dolor sit amet, $a^2 + b^2 = c^2$ consectetur adipiscing elit. Nam eros velit, fringilla et magna nec, posue | CODE |
| LOW | …ts/test-gui/test-files/Rendering/Generic Document 1.md | 11 | abstract: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore | CODE |
| LOW | …ts/test-gui/test-files/Rendering/Generic Document 1.md | 11 | abstract: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore | CODE |
| LOW⚡ | …ts/test-gui/test-files/Rendering/Generic Document 1.md | 86 | > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, | CODE |
| LOW⚡ | …ts/test-gui/test-files/Rendering/Generic Document 1.md | 86 | > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, | CODE |
| LOW⚡ | …ts/test-gui/test-files/Rendering/Generic Document 1.md | 96 | > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, | CODE |
| LOW⚡ | …ts/test-gui/test-files/Rendering/Generic Document 1.md | 96 | > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, | CODE |
| LOW⚡ | …ts/test-gui/test-files/Rendering/Generic Document 1.md | 181 | * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. | COMMENT |
| LOW⚡ | …ts/test-gui/test-files/Rendering/Generic Document 1.md | 181 | * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. | COMMENT |
| LOW⚡ | …ts/test-gui/test-files/Rendering/Generic Document 1.md | 189 | * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. | COMMENT |
| LOW⚡ | …ts/test-gui/test-files/Rendering/Generic Document 1.md | 189 | * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. | COMMENT |
| LOW⚡ | …ts/test-gui/test-files/Rendering/Generic Document 1.md | 199 | 1. This is a list item with two paragraphs. Lorem ipsum dolor | CODE |
| LOW | …ts/test-gui/test-files/Rendering/Generic Document 1.md | 216 | only required to indent the first line. Lorem ipsum dolor | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 58 | Lorem ipsum [@Marx1962] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 58 | Lorem ipsum [@Marx1962] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 62 | Lorem ipsum [-@Marx1962] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 62 | Lorem ipsum [-@Marx1962] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 66 | Lorem ipsum [This is a prefix @Marx1962] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 66 | Lorem ipsum [This is a prefix @Marx1962] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 70 | Lorem ipsum [invalid citepart; some prefix @Marx1962, suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 70 | Lorem ipsum [invalid citepart; some prefix @Marx1962, suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 74 | Lorem ipsum [@Marx1962 very much a suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 74 | Lorem ipsum [@Marx1962 very much a suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 78 | Lorem ipsum [@Marx1962{} very much a suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 78 | Lorem ipsum [@Marx1962{} very much a suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 82 | Lorem ipsum [@{https://dx.doi.org/some/doi.12345}{} this is a suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 82 | Lorem ipsum [@{https://dx.doi.org/some/doi.12345}{} this is a suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 86 | Lorem ipsum [@Marx1962; @Marx2009] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 86 | Lorem ipsum [@Marx1962; @Marx2009] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 90 | Lorem ipsum [This is a prefix @Marx1962 and a suffix; a second prefix -@Marx2009, 23-24 and a suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 90 | Lorem ipsum [This is a prefix @Marx1962 and a suffix; a second prefix -@Marx2009, 23-24 and a suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 94 | Lorem ipsum [This is a prefix -@Marx1962, §§ 23-24, and this is a suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 94 | Lorem ipsum [This is a prefix -@Marx1962, §§ 23-24, and this is a suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 98 | Lorem ipsum [This is a prefix @Marx1962, §§ 23-24, and this is a suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 98 | Lorem ipsum [This is a prefix @Marx1962, §§ 23-24, and this is a suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 102 | Lorem ipsum [This is a prefix -@Marx1962, 23-24, and this is a suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 102 | Lorem ipsum [This is a prefix -@Marx1962, 23-24, and this is a suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 106 | Lorem ipsum [This is a prefix -@Marx1962, iv-xx, and this is a suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 106 | Lorem ipsum [This is a prefix -@Marx1962, iv-xx, and this is a suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 110 | Lorem ipsum [This is a prefix -@Marx1962, pp. iiim-mci, and this is a suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 110 | Lorem ipsum [This is a prefix -@Marx1962, pp. iiim-mci, and this is a suffix] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 114 | Lorem ipsum [@Marx1962, especially figure 3, and more] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 114 | Lorem ipsum [@Marx1962, especially figure 3, and more] dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 118 | Lorem ipsum @Marx1962 dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 118 | Lorem ipsum @Marx1962 dolor sit amet. | CODE |
| LOW⚡ | scripts/test-gui/test-files/Rendering/Citations.md | 122 | Lorem ipsum @Marx1962 [§§ 23-24, and this is a suffix] dolor sit amet. | CODE |
| 9 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | static/defaults/Microsoft Word to Markdown.yaml | 2 | # ==================== | COMMENT |
| MEDIUM | static/defaults/text2tags to Markdown.yaml | 2 | # ==================== | COMMENT |
| MEDIUM | static/defaults/OPML to Markdown.yaml | 2 | # ==================== | COMMENT |
| MEDIUM | static/defaults/Reveal.js.yaml | 2 | # ==================== | COMMENT |
| MEDIUM | static/defaults/Rich Text Format.yaml | 2 | # ==================== | COMMENT |
| MEDIUM | static/defaults/Wiki to Markdown.yaml | 2 | # ==================== | COMMENT |
| MEDIUM | static/defaults/Open Document Text to Markdown.yaml | 2 | # ==================== | COMMENT |
| MEDIUM | static/defaults/reStructuredText to Markdown.yaml | 2 | # ==================== | COMMENT |
| MEDIUM | static/defaults/Markdown.yaml | 2 | # ==================== | COMMENT |
| MEDIUM | static/defaults/Markdown.yaml | 5 | # ==================== | COMMENT |
| MEDIUM | static/defaults/Open Document Text.yaml | 2 | # ==================== | COMMENT |
| MEDIUM | static/defaults/LaTeX to Markdown.yaml | 2 | # ==================== | COMMENT |
| MEDIUM | static/defaults/HTML to Markdown.yaml | 2 | # ==================== | COMMENT |
| MEDIUM | static/defaults/HTML.yaml | 2 | # ==================== | COMMENT |
| MEDIUM | static/defaults/Textile to Markdown.yaml | 2 | # ==================== | COMMENT |
| MEDIUM | static/defaults/Orgmode to Markdown.yaml | 2 | # ==================== | COMMENT |
| MEDIUM | static/defaults/XeLaTeX PDF.yaml | 2 | # ==================== | COMMENT |
| MEDIUM | static/defaults/Microsoft Word.yaml | 2 | # ==================== | COMMENT |
| MEDIUM | static/defaults/Plain Text.yaml | 2 | # ==================== | COMMENT |
| MEDIUM | static/defaults/LaTeX.yaml | 2 | # ==================== | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | forge.config.js | 201 | // We must add native node modules to this option. Doing so ensures that | COMMENT |
| LOW | resources/icons/compile-macos-icon.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | source/app/app-service-container.ts | 141 | */ | COMMENT |
| LOW | source/app/util/attach-app-navigation-handlers.ts | 61 | // NOTE: This is only called when a *renderer* wants to open a new window. | COMMENT |
| LOW | source/app/service-providers/appearance/index.ts | 121 | this._mode = autoDarkMode | COMMENT |
| LOW | source/app/service-providers/updates/index.ts | 481 | // release with "-nightly" appended to it. However, under strict SemVer | COMMENT |
| LOW | source/app/service-providers/commands/file-rename.ts | 101 | COMMENT | |
| LOW | …e/app/service-providers/commands/dir-project-export.ts | 61 | if (config === null) { | COMMENT |
| LOW | …app/service-providers/citeproc/util/database-loader.ts | 81 | // get citekeys to autocomplete, I found out by looking at a problematic CSL | COMMENT |
| LOW | source/app/service-providers/documents/index.ts | 801 | // provider when the user intents to open them. Users can also link | COMMENT |
| LOW | source/app/service-providers/documents/index.ts | 1541 | doc.saveTimeout = undefined | COMMENT |
| LOW | source/win-main/GlobalSearch.vue | 281 | // All directories we've found in the file tree. NOTE: The search function | COMMENT |
| LOW | source/common/util/css-safe-string.ts | 21 | * | COMMENT |
| LOW | source/common/util/make-valid-uri.ts | 41 | // github.com --> is a valid hostname, but has no protocol and no "www" | COMMENT |
| LOW | source/common/util/make-valid-uri.ts | 121 | // At this point, it might be that isFile is still undefined. If so, | COMMENT |
| LOW | source/common/util/make-valid-uri.ts | 141 | // NOTE: Using hasPotentialLocalFilenameExtension, we prevent this | COMMENT |
| LOW | source/common/util/is-function.ts | 21 | // We are calling the toString-function of the object prototype, as we can | COMMENT |
| LOW | …ules/markdown-editor/plugins/md-paste-drop-handlers.ts | 101 | // type "Files" and "text/html", the latter of which often includes the | COMMENT |
| LOW | …n/modules/markdown-editor/parser/frontmatter-parser.ts | 61 | if (!/^(?:-{3}|\.{3})$/.test(line.text)) { | COMMENT |
| LOW | …/modules/markdown-editor/parser/pandoc-table-parser.ts | 21 | import { | COMMENT |
| LOW | …/modules/markdown-editor/parser/pandoc-table-parser.ts | 41 | // [|+]?$ => optional tailing pipe or cross | COMMENT |
| LOW | …mmon/modules/markdown-editor/parser/citation-parser.ts | 361 | } | COMMENT |
| LOW | …mmon/modules/markdown-editor/parser/citation-parser.ts | 421 | // complex, I could not use a switch statement, nor an if-else branching | COMMENT |
| LOW | …mmon/modules/markdown-editor/parser/citation-parser.ts | 641 | // If the last character at position i in the citekey is a punctuation | COMMENT |
| LOW | …common/modules/markdown-editor/table-editor/subview.ts | 41 | // NOTE: There are also cell boundaries written to the TD/TH's dataset, but | COMMENT |
| LOW | …/common/modules/markdown-editor/table-editor/widget.ts | 81 | super() | COMMENT |
| LOW | …/common/modules/markdown-editor/table-editor/widget.ts | 461 | // anywhere inside the table cell delimiters, and this will make | COMMENT |
| LOW | …/common/modules/markdown-editor/table-editor/widget.ts | 501 | contentWrapper.innerHTML = html.length > 0 ? sanitizeHTML(html) : ' ' | COMMENT |
| LOW | …n/modules/markdown-editor/table-editor/context-menu.ts | 181 | label: trans('Align column text right'), | COMMENT |
| LOW | …common/modules/markdown-editor/commands/autocorrect.ts | 121 | // Space key handling for autocorrect | COMMENT |
| LOW | …ommon/modules/markdown-editor/linters/language-tool.ts | 261 | }) | COMMENT |
| LOW | …odules/markdown-utils/markdown-ast/parse-table-node.ts | 41 | * could not parse the table, a TextNode is | COMMENT |
| LOW | …odules/markdown-utils/markdown-ast/parse-table-node.ts | 61 | // consist of multiple lines. The AST-parser needs to allow those, too. | COMMENT |
| LOW | source/common/modules/preload/index.ts | 21 | // listen to a few events, we need to ramp up some of the channels' max | COMMENT |
| LOW | static/defaults/Microsoft Word to Markdown.yaml | 1 | # ZETTLR DEFAULTS FILE | COMMENT |
| LOW | static/defaults/Markdown.yaml | 1 | # ZETTLR DEFAULTS FILE | COMMENT |
| LOW | scripts/get-pandoc.sh | 41 | # 0: stdin | 1: stdout | 2: stderr | COMMENT |
| LOW | scripts/i18n.sh | 1 | # This script extracts (new) translatable strings from the source and updates | COMMENT |
| LOW | scripts/update_apt.sh | 1 | #!/bin/zsh | COMMENT |
| LOW | scripts/add-osx-cert.sh | 1 | #!/usr/bin/env sh | COMMENT |
| LOW | scripts/test-gui/test-config.example.yml | 1 | # This is a test configuration file that will be read and parsed to JSON during | COMMENT |
| LOW | .github/workflows/build.yml | 1 | name: Build | COMMENT |
| LOW | .github/workflows/build.yml | 21 | # # | COMMENT |
| LOW | .github/workflows/build.yml | 41 | # * Every runner will retrieve the package.json's "version" field by running # | COMMENT |
| LOW | .github/workflows/build.yml | 401 | # # | COMMENT |
| LOW | .vscode/extensions.json | 1 | { | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | forge.config.js | 74 | function generateRendererEntrypoint (name, folder) { | CODE |
| LOW | source/app/app-service-container.ts | 67 | export function isAppServiceContainerReady (): boolean { | CODE |
| LOW | source/app/util/attach-app-navigation-handlers.ts | 57 | export function attachAppNavigationHandlers (log: LogProvider): void { | CODE |
| LOW | source/app/service-providers/updates/index.ts | 187 | function verifyUpdateServerResponse (response: unknown): response is ServerAPIResponse { | CODE |
| LOW | …urce/app/service-providers/commands/open-attachment.ts | 44 | function getBibliographyForDescriptor (descriptor: MDFileDescriptor): string { | CODE |
| LOW | …-providers/windows/create-project-properties-window.ts | 34 | export default function createProjectPropertiesWindow (logger: LogProvider, config: ConfigProvider, conf: WindowPosition | CODE |
| LOW | …vice-providers/windows/dialog/should-overwrite-file.ts | 26 | export default async function shouldOverwriteFileDialog (win: BrowserWindow|null, filename: string): Promise<boolean> { | CODE |
| LOW | source/win-main/App.vue | 778 | function fileManagerSplitComponentResized (sizes: [number, number]): void { | CODE |
| LOW | source/win-main/App.vue | 782 | function editorSidebarSplitComponentResized (sizes: [number, number]): void { | CODE |
| LOW | source/win-main/EditorBranch.vue | 103 | function paneShouldHaveBorderRight (index: number): boolean { | CODE |
| LOW | source/win-main/EditorBranch.vue | 119 | function paneShouldHaveBorderBottom (index: number): boolean { | CODE |
| LOW | source/win-main/MainEditor.vue | 65 | function getBibliographyForDescriptor (descriptor: MDFileDescriptor): string { | CODE |
| LOW | source/win-main/MainEditor.vue | 661 | function maybeHighlightSearchResults (): void { | CODE |
| LOW | source/win-main/sidebar/ReferencesTab.vue | 37 | function getBibliographyForDescriptor (descriptor: MDFileDescriptor): string { | CODE |
| LOW | source/win-log-viewer/App.vue | 170 | function containerScrolledToBottom (): boolean { | CODE |
| LOW | source/common/util/file-extention-checks.ts | 150 | export function hasAnyRecognizedFileExtension (filePath: string, customExtensions: string[] = []): boolean { | CODE |
| LOW | source/common/util/file-extention-checks.ts | 161 | export function getExtensionForDocumentType (type: DocumentType): string { | CODE |
| LOW | source/common/util/file-extention-checks.ts | 183 | export function getDocumentTypeForExtension (filePath: string): DocumentType|undefined { | CODE |
| LOW | source/common/util/get-bibliography-for-descriptor.ts | 28 | export function getBibliographyForDescriptor (descriptor: MDFileDescriptor): string { | CODE |
| LOW | source/common/vue/form/elements/AutocompleteText.vue | 121 | function maybeScrollOptionIntoView () { | CODE |
| LOW | source/common/vue/iris-indicator-utils/util/webgl.ts | 80 | export function resizeCanvasToDisplaySize (canvas: HTMLCanvasElement) { | CODE |
| LOW | source/common/pandoc-util/pandoc-extensions.ts | 794 | export function getDefaultExtensionStatus (readerWriter: PandocReaderWriter, extension: PandocExtension): 'enabled'|'dis | CODE |
| LOW | …on/modules/window-register/register-default-context.ts | 38 | export default function registerDefaultContextMenu (): void { | CODE |
| LOW | source/common/modules/markdown-editor/util/links.ts | 96 | export function findLinksforReferenceLinkLabel (state: EditorState, labelString: string): SyntaxNode[] { | CODE |
| LOW | source/common/modules/markdown-editor/util/links.ts | 128 | export function findReferenceForLinkLabel (state: EditorState, labelString: string): SyntaxNode|null { | CODE |
| LOW | source/common/modules/markdown-editor/util/links.ts | 165 | export function countLinksReferencingLabel (state: EditorState, labelString: string): number { | CODE |
| LOW | …ules/markdown-editor/plugins/md-paste-drop-handlers.ts | 39 | function normalizePathForInsertion (p: string, basePath: string): string { | CODE |
| LOW | …mon/modules/markdown-editor/table-editor/widget-dom.ts | 21 | export function generateEmptyTableWidgetElement (): { wrapper: HTMLDivElement, table: HTMLTableElement } { | CODE |
| LOW | …/modules/markdown-editor/table-editor/commands/util.ts | 209 | export function getDelimiterLineCellOffsets (line: string, delimChar: string): [number, number][] { | CODE |
| LOW | source/common/modules/markdown-editor/theme/syntax.ts | 151 | export function markdownSyntaxHighlighter (): Extension { | CODE |
| LOW | …e/common/modules/markdown-editor/commands/footnotes.ts | 169 | export function selectFootnoteBeforeDelete (target: EditorView): boolean { | CODE |
| LOW | …ommon/modules/markdown-editor/linters/language-tool.ts | 64 | export function extractLTSpellcheckSuggestionsFrom (diag: Diagnostic): string[]|null { | CODE |
| LOW | …ommon/modules/markdown-editor/linters/language-tool.ts | 86 | export function isLanguageToolMisspelling (diag: Diagnostic): boolean { | CODE |
| LOW | source/pinia/document-tree-store.ts | 138 | function maybeUncollapseDirectories (filePath: string): void { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | source/app/service-providers/appearance/index.ts | 81 | // "system" mode setting. Essentially, this is a "more truthful" | COMMENT |
| MEDIUM | source/app/service-providers/citeproc/index.ts | 395 | // every chokidar process we utilize. Otherwise, the fsevents dylib will | COMMENT |
| MEDIUM | source/app/service-providers/documents/index.ts | 604 | // every chokidar process we utilize. Otherwise, the fsevents dylib will | COMMENT |
| MEDIUM | source/app/service-providers/fsal/fsal-watchdog.ts | 109 | // every chokidar process we utilize. Otherwise, the fsevents dylib will | COMMENT |
| MEDIUM | source/common/vue/window/WindowChrome.vue | 307 | // position: absolute without having to delve into weird hacks. | COMMENT |
| MEDIUM | …on/modules/markdown-editor/autocomplete/code-blocks.ts | 112 | // To make the regex more robust, there is a capturing group that captures | COMMENT |
| MEDIUM | …ce/common/modules/markdown-editor/plugins/toc-field.ts | 122 | // utilize the full tree. | COMMENT |
| MEDIUM | …mmon/modules/markdown-editor/parser/citation-parser.ts | 727 | // Essentially, this `if` branch requires that a valid citation must have | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | source/app/service-providers/config/index.ts | 212 | // Don't forget to update the version | COMMENT |
| MEDIUM | source/win-assets/DefaultsTab.vue | 114 | const NEW_DEFAULTS_FILE_CONTENTS = `# This is a new defaults file that you can use to define rules for exporting or | CODE |
| LOW | source/common/vue/window/SplitView.vue | 102 | // Don't forget to also update the minimum widths | COMMENT |
| LOW | scripts/get-pandoc.sh | 24 | # optional second one. Also make sure to check the required one | COMMENT |
| LOW | .github/workflows/build.yml | 488 | # We must make sure to copy the three additional files | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/add-osx-cert.sh | 20 | # Create a new keychain using the password "actions" | COMMENT |
| MEDIUM | .github/workflows/build.yml | 9 | # This file contains the logic necessary to build a full release from source. # | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | source/app/util/environment-check.ts | 72 | // We need to check if Pandoc has been bundled with this package. | COMMENT |
| LOW | source/common/vue/PopoverWrapper.vue | 265 | // we need to check if we have to move the popover in the second axis. For | COMMENT |
| LOW | …e/common/modules/markdown-editor/parser/math-parser.ts | 67 | // However, if this is an invalid closing delimiter, we need to check if | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | source/app/service-providers/fsal/index.ts | 622 | // NOTE: This function may be called after a file or folder has been deleted. In that | COMMENT |