# artempyanykh/marksman

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/artempyanykh-marksman).**

3,014 stars · 53 forks · F# · mit

## Links

- GitHub: https://github.com/artempyanykh/marksman
- awesome-repositories: https://awesome-repositories.com/repository/artempyanykh-marksman.md

## Topics

`emacs` `language-server` `language-server-protocol` `lsp` `markdown` `neovim` `note-taking` `notes`

## Description

Marksman is a Language Server Protocol implementation for Markdown that provides advanced editor features including autocomplete, go-to-definition, and hover support for markdown files. It serves as an analysis engine to manage documentation and knowledge bases through automated link validation and consistent cross-referencing across multiple documents.

The project enables the navigation of complex networks of wiki-style links and headings. It supports content refactoring, allowing users to rename headings and update internal references across multiple files to maintain document integrity during restructuring.

The system provides real-time diagnostics to identify broken internal references and duplicate headings. It utilizes cross-document symbol indexing to resolve links and references across a set of files without scanning every document on every request.

## Tags

### Development Tools & Productivity

- [Language Server Protocol Implementations](https://awesome-repositories.com/f/development-tools-productivity/language-server-protocol-implementations.md) — Implements the Language Server Protocol to provide editor intelligence, autocomplete, and go-to-definition for markdown files.
- [Document Node Modeling](https://awesome-repositories.com/f/development-tools-productivity/ast-based-navigation/document-node-modeling.md) — Converts markdown text into a structured node tree to allow precise navigation and modification of content elements.
- [Markdown Documentation Systems](https://awesome-repositories.com/f/development-tools-productivity/markdown-documentation-systems.md) — Provides a system for managing large sets of markdown files with automated link validation and cross-referencing.
- [Symbol Indexing](https://awesome-repositories.com/f/development-tools-productivity/symbol-indexing.md) — Generates symbol maps for headings and identifiers across multiple files to enable efficient cross-document navigation.
- [Diagnostic Engines](https://awesome-repositories.com/f/development-tools-productivity/event-driven-engines/diagnostic-engines.md) — Triggers real-time validation checks when document content changes to identify broken links or duplicate headings.

### Content Management & Publishing

- [Markdown-Based Knowledge Bases](https://awesome-repositories.com/f/content-management-publishing/content-management-systems/content-architecture-modeling/markdown-ecosystem-tools/markdown-based-knowledge-bases.md) — Facilitates navigation of complex networks of wiki-style links and headings within a markdown-based knowledge base.
- [Markdown Abstract Syntax Trees](https://awesome-repositories.com/f/content-management-publishing/content-processing-transformation/document-processing-conversion/document-processing/format-specific-parsers/markdown-abstract-syntax-trees.md) — Implements parsers that transform markdown text into structured abstract syntax trees for precise analysis and refactoring.

### Data & Databases

- [Document Reference Validation](https://awesome-repositories.com/f/data-databases/data-modeling/reference-validators/document-reference-validation.md) — Detects broken wiki-links and duplicate or ambiguous headings through real-time diagnostics. ([source](https://cdn.jsdelivr.net/gh/artempyanykh/marksman@main/README.md))
- [Markdown Link Resolvers](https://awesome-repositories.com/f/data-databases/knowledge-graph-indexers/knowledge-graph-builders/bi-directional-note-linking/markdown-link-resolvers.md) — Resolves cross-references between markdown files to enable navigation via completion, hover, and definition tools. ([source](https://cdn.jsdelivr.net/gh/artempyanykh/marksman@main/README.md))
- [Link Validation & Maintenance](https://awesome-repositories.com/f/data-databases/knowledge-graph-indexers/knowledge-graph-builders/bi-directional-note-linking/markdown-link-resolvers/link-validation-maintenance.md) — Validates local links and identifies broken internal references in real time to ensure a functional documentation hierarchy.

### Software Engineering & Architecture

- [Link Refactoring](https://awesome-repositories.com/f/software-engineering-architecture/symbol-renamers/file-system-refactoring/link-refactoring.md) — Provides automated updating of internal document references and symbol renaming to maintain consistency across a document set. ([source](https://cdn.jsdelivr.net/gh/artempyanykh/marksman@main/README.md))

### Artificial Intelligence & ML

- [Incremental AST Updates](https://awesome-repositories.com/f/artificial-intelligence-ml/incremental-updates/incremental-ast-updates.md) — Modifies only the changed branches of the syntax tree to maintain performance during active document editing.
- [Incremental Document Updates](https://awesome-repositories.com/f/artificial-intelligence-ml/incremental-updates/incremental-document-updates.md) — Updates only the modified portions of the internal representation to maintain high performance during active editing.

### DevOps & Infrastructure

- [Diagnostic Pipelines](https://awesome-repositories.com/f/devops-infrastructure/event-driven-pipelines/diagnostic-pipelines.md) — Triggers validation checks in response to content changes to identify broken links or duplicate headings in real time.
