Bug 505323

Summary: Feature Request: LSP-driven Autocompletion for Internal Note Links (e.g., Marksman integration)
Product: [Applications] Marknote Reporter: Javierinsitu <javierschulz>
Component: GeneralAssignee: mbruchert <mbb>
Status: REPORTED ---    
Severity: wishlist CC: carl, mbb
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Javierinsitu 2025-06-08 04:14:56 UTC
Building upon the request for internal wiki-style links ([[Note Title]]), this feature request focuses on implementing intelligent autocompletion for these links, leveraging a Language Server Protocol (LSP) based approach, similar to how Kate uses Marksman for Markdown.

Problem:
While manual typing of [[Note Title]] links is functional, it can be slow and error-prone, especially with many notes or long titles. Users need a streamlined way to quickly insert accurate links without having to remember exact note titles. Without autocompletion, the discoverability of existing notes for linking is also severely limited, hindering the organic growth of a Zettelkasten.

Proposed Solution:
Integrate an LSP server (e.g., Marksman, if compatible or a custom solution) to provide real-time, context-aware autocompletion for internal note links.

Desired Functionality (Autocompletion):

Trigger: When a user types [[, or after a few characters of a potential note title within the [[...]] syntax, Marknotes should automatically trigger a completion list.
Suggestions: The completion list should display relevant note titles from the user's Marknotes collection.
Fuzzy Matching: The autocompletion should ideally support fuzzy matching, allowing users to find notes even with partial or slightly misspelled inputs (e.g., typing [[proy might suggest [[Proyecto de Investigación]]).
Contextual Information (Optional but highly desirable): If possible, the autocompletion suggestions could also display brief contextual information (e.g., the first line of the note, or a small preview) to help the user choose the correct note.
Efficiency: The autocompletion process should be fast and responsive, not causing delays in typing.
Configurability: Allow users to configure when autocompletion triggers (e.g., number of characters typed) and whether to show a preview.
Benefits: Massively Improved Workflow: Users can quickly and accurately link notes, significantly boosting productivity and reducing errors.
Enhanced Discoverability: Facilitates the creation of a dense network of interconnected notes by making it easy to find and link to existing content.
True Zettelkasten Immersion: A seamless linking experience is crucial for a fluid Zettelkasten workflow, encouraging users to connect ideas more frequently.
Professional Editor Feel: Aligns Marknotes with the modern features expected from advanced text editors like Kate, offering a superior user experience.
Scalability: An LSP-based approach is generally robust and scalable, capable of handling a large number of notes without performance degradation.
This autocompletion feature is a critical next step after implementing basic internal links, transforming Marknotes into a truly powerful and user-friendly tool for personal knowledge management.