Commit Graph

201 Commits

Author SHA1 Message Date
Jonatan Heyman
74e4c6347b Fix issue where Escape key wouldn't work in Note selector when there was text in the input causing no Notes to match 2024-12-09 12:37:05 +01:00
Jonatan Heyman
946728060d Add attributes to prevent auto completion (for web app version) 2024-12-09 12:37:05 +01:00
Jonatan Heyman
d12f6577bf Remove debug logging
#build
2024-12-09 12:37:05 +01:00
Jonatan Heyman
f49ef4bec8 Show error message if failing to unserialize note data (e.g. if a note's format has a major version that is unsupported) 2024-12-09 12:37:05 +01:00
Jonatan Heyman
e46a014dd7 Remove C-p and C-n key bindings from Emacs mode
(since they interfer with new key bindings for multiple notes support)
2024-12-09 12:37:05 +01:00
Jonatan Heyman
f0e299122f Implement functionality for deleting notes 2024-12-09 12:37:05 +01:00
Jonatan Heyman
7be0a304d0 WIP: Multiple notes support
Add support for migrating old buffer file to new library.

Add support for changing location for the notes library.

Replace theme toggle in status bar with a dropdown in Appearance settings.

Improve New Note and Update Note dialogs.

Implement UI for confirming note delete (the actualal deltion is still to be implemented).
2024-12-09 12:37:05 +01:00
Jonatan Heyman
29facb4787 Fix issue with changing theme and other editor settings not propagating down to the editor instances 2024-12-09 12:37:05 +01:00
Jonatan Heyman
982f95a2c7 Fix error when NoteSelector has zero results 2024-12-09 12:37:05 +01:00
Jonatan Heyman
7e1f01471a Implement support for editing notes' metadata, and ability to move notes into other directories.
Create separate pinia store for the editor cache functionality.
2024-12-09 12:37:05 +01:00
Jonatan Heyman
0da3e32171 Don't close/close folder when New folder button is clicked 2024-12-09 12:37:05 +01:00
Jonatan Heyman
706a567e76 Minor color tweak in dark mode 2024-12-09 12:37:05 +01:00
Jonatan Heyman
156cc8b1bb Propagate settings changes to all cached Editor instances (and not just the active one) 2024-12-09 12:37:05 +01:00
Jonatan Heyman
ceb09fd8aa Dark mode styling of New Note dialog 2024-12-09 12:37:05 +01:00
Jonatan Heyman
ca6b74b35a Add ability to open/close folders in New Note dialog 2024-12-09 12:37:05 +01:00
Jonatan Heyman
0c727feabe Change to non-deprecated syntax for ::v-deep selectors 2024-12-09 12:37:05 +01:00
Jonatan Heyman
43652ccaa9 Use fuzzysort to filter languages 2024-12-09 12:37:05 +01:00
Jonatan Heyman
2f7374cca9 Use fuzzysearch to filter notes in NoteSelector 2024-12-09 12:37:05 +01:00
Jonatan Heyman
edcf33a606 Sort notes in notes selector by how recent they were opened 2024-12-09 12:37:05 +01:00
Jonatan Heyman
5b61a0a234 WIP: Implement ability to create new notes.
Support cache of multiple Editor instances.

Change so that current note name is included in the event data dispatched by emitCursorChange.
2024-12-09 12:37:05 +01:00
Jonatan Heyman
5e34656c1d WIP: Create new node dialog
Implement folder selector UI element.
Retrieve actual folder structure from Notes library.
2024-12-09 12:37:05 +01:00
Jonatan Heyman
9ee66743d7 Pixel push 2024-12-09 12:37:05 +01:00
Jonatan Heyman
4c947f960d Better error message 2024-12-09 12:37:05 +01:00
Jonatan Heyman
ecea69f6bb Place scrollbar for Language selector and Note selector within the list instead of scrolling the whole "screen" 2024-12-09 12:37:05 +01:00
Jonatan Heyman
d01c19fd72 WIP: Implement support for multiple notes
Refactor Vue <-> Editor <-> CodeMirror code.
Introduce Pinia store to keep global state, in order to get rid of a lot of event juggling between Editor class/child components and the root App component.
2024-12-09 12:37:05 +01:00
Jonatan Heyman
c14c700791 Add a way to display error dialogs 2024-12-09 12:37:05 +01:00
Jonatan Heyman
769d7eb0fb Throw error if major format version is greater than the currently supported version 2024-12-09 12:37:05 +01:00
Jonatan Heyman
1f9be701b3 Fix race condition that could cause the editor to not scroll the cursor(s) into the viewport upon loading 2024-12-09 12:37:05 +01:00
Jonatan Heyman
ec360f5456 Add metadata to the beginning of the serialized buffer.
Store the cursors' positions in the buffer metadata and restore the cursors when loading the buffer content.
2024-12-09 12:37:05 +01:00
Jonatan Heyman
8626dcc141 Fix error on startup when cursor is moved to the end of a large buffer (caused by the syntaxTree not being parsed in time) 2024-07-14 14:51:15 +02:00
Jonatan Heyman
6363422585
Merge branch 'main' into support-dart-syntax
Signed-off-by: Jonatan Heyman <jonatan@heyman.info>
2024-07-14 12:51:14 +02:00
Jonatan Heyman
6ec20ee873 Guesslang does not support Vue 2024-07-14 12:45:35 +02:00
JongwooLee
c870a48a7e build grammar 2024-07-14 12:45:35 +02:00
JongwooLee
f9c841d19e add vue language support 2024-07-14 12:45:35 +02:00
Jonatan Heyman
0aaf62925f Add test for custom default block language 2024-07-14 12:19:29 +02:00
Jonatan Heyman
d82b3920d7 Add setting for configuring the default block language and language auto detection 2024-07-14 12:19:29 +02:00
Jonatan Heyman
f33be7f3a4 Fix bug causing editing to break when there are empty blocks of a language that uses a StreamParser 2024-07-11 14:46:20 +02:00
Cris
e8971a6733 Add default redo cmd that works on all Platforms. Mod+Shift+Z 2024-07-08 22:58:18 +02:00
Jonatan Heyman
bc3a9b66a1 Add test that ensures that getBlocksFromSyntaxTree() and getBlocksFromString() functions produces the same results 2024-07-07 22:05:33 +02:00
Jonatan Heyman
016422e7db Update imports so that that they also work in playwright tests 2024-07-07 22:05:33 +02:00
Jonatan Heyman
9bcf03d00c Typo 2024-07-07 22:05:33 +02:00
Jonatan Heyman
c3892163af Remove timeout parameter for getBlocksFromSyntaxTree() since we now expect the syntax tree to already be available. 2024-07-07 22:05:33 +02:00
Jonatan Heyman
29d4eb26cc Optimize block parsing when syntax tree isn't available.
If the syntax tree isn't available, use String.indexOf to parse the blocks.
2024-07-07 22:05:33 +02:00
Donghee Lee
d943fc8015 Support Dart Syntax 2024-06-12 07:47:45 +02:00
Jonatan Heyman
2f22951e9f Add "Always on top" setting which makes Heynote stay on top of other programs 2024-02-09 16:07:27 +01:00
Jonatan Heyman
d591d7ddb1 Add PowerShell language mode 2024-02-09 16:02:07 +01:00
Jonatan Heyman
9e3fc5e8e6 Add Diff language mode 2024-02-09 16:02:07 +01:00
Abhishek Maran
5eed314e32
fix: Block corruption when deleting block content using deleteLine command (#134)
* fix: cell corruption when deleting block contents

* customize deleteLine to fix cell corruption

* implemented tests for delete line

* moved deleteLine and selectedLineBlocks to delete-line.js
2024-02-07 13:03:59 +01:00
Jonatan Heyman
f9673b0954 Use explicit key bindings for copy/paste/cut, instead of just relying on default browser keys 2024-01-29 13:20:21 +01:00
Jonatan Heyman
41d9ef7025
Copy whole current line(s) when selection(s) are empty (#177)
* Copy whole current line(s) when selection(s) are empty

* Fix tests on Linux/Windows
2024-01-25 17:44:38 +01:00