All notable changes to the "pointblank" extension will be documented in this file.
- You can now select a single-line bullet point for copying, making it easier to duplicate or move bullet items.
- When typing or pasting from the start of a list item line, the bullet point style now matches the next or previous list item line at the same level of indent for consistency.
- Replaced the document parser with a high-performance "Dirty Range" incremental parser, eliminating typing lag in large documents.
- Paste operations are now handled as a single, atomic transaction. This prevents potential race conditions with the incremental parser and ensures that the document state remains consistent, improving performance and reliability, especially for large pastes.
- Fixed an issue where automatic bullet insertion would interfere with VS Code's auto-completion for brackets, parentheses, and quotes.
- Pasting a bullet at the beginning of a line no longer erases the line; pasted content is merged or inserted intelligently.
- Numbered list items will remove their default bullet point.
- Paste handling is now more robust: bullets are correctly added when pasting at the start of indented lines, and never in the middle of a line.
- Added comprehensive unit tests for document parsing and paste scenarios.
- All parsing and paste logic is now tested using Jest unit tests.
- Inline query update now correctly recognizes and replaces both
LIST(- [[...]]) andTRANSCLUDE(- ![[...]]) result lines above the query block. This prevents duplicate or stale results when using markdown transclusion in queries.
- New setting and command: Toggle Auto Bullets (
pointblank.toggleAutoBullets). You can now enable or disable automatic bullet point insertion for new lines and pastes, with a default keybinding (Alt+B).
- Multi-line paste: If the first line of the pasted content is empty, default bullet points are now correctly added to all following non-empty lines (when auto bullets are enabled).
- Powerful Inline Query Language: A major new feature that allows you to search for and display information directly within your notes.
- Supports
LIST(wiki-style links) andTRANSCLUDE(embedded content) actions. - Query from
FILES(metadata) orBLOCKS(inline content). - Filter results with a
WHEREclause supportingAND/ORand multiple operators (=,!=,>,<,::). - Sort results with
SORT BY. - Define search scope with
INclause, supportingthis.file,this.folder,workspace, and now relative paths (e.g.,IN "./notes/").
- Supports
- Major refactor of the template system. Templates are now defined by a
Type::property and stored in.vscode/templates. - Inline template expansion is now triggered by
TypeName::instead of the old@TypeNamesyntax.
- Support for optional YAML front matter in template files for extended metadata (used in quick open file type, though not used in inline expansion).
- Updated and clarified the names of color-related settings.
- When creating a new bullet point, it will now inherit the style of the previous line.
- Resolved widescreen layout issues on the website.
- Upgraded the document parser from a 4-pass to a more efficient 2-pass system, significantly improving performance and reducing lag on large documents.
- Resolved issues with pasting multi-line blocks and inline type nodes.
- Major Refactor: Transitioned from visual-only "ghost" characters to using real characters for all bullet points. This improves stability, interoperability with other extensions, and ensures the document remains pure markdown.
- Comprehensive handling for inline type node inputs, including return key behavior.
- Focus Mode: Implemented a "focus mode" to hoist a specific folding block, providing a distraction-free writing environment.
- Addressed several folding and decorator rendering issues.
- Major Performance Overhaul: Refactored the document rendering logic, improving performance from ~400ms to sub-1ms. Implemented viewport-aware rendering to only process the visible portion of the document.
- Introduced a quick-open command for template files.
- Major Refactor: Switched to a tree-node document model, laying the foundation for hierarchical outlining and structured data.
- Initial implementation of styled bullet point prefixes.
- Support for
key::valuepairs and node type templating.