Commit Graph

193 Commits

Author SHA1 Message Date
Jonatan Heyman
487168d153 Fix error when NoteSelector has zero results 2024-09-07 12:15:35 +02:00
Jonatan Heyman
d5dc4760d8 Implement support for editing notes' metadata, and ability to move notes into other directories.
Create separate pinia store for the editor cache functionality.
2024-09-04 15:22:06 +02:00
Jonatan Heyman
a9c962b174 Don't close/close folder when New folder button is clicked 2024-08-04 17:58:20 +02:00
Jonatan Heyman
41da9344b6 Minor color tweak in dark mode 2024-08-04 17:53:31 +02:00
Jonatan Heyman
45fd167f6d Propagate settings changes to all cached Editor instances (and not just the active one) 2024-08-04 17:42:53 +02:00
Jonatan Heyman
60b5c910a9 Dark mode styling of New Note dialog 2024-08-04 17:36:47 +02:00
Jonatan Heyman
ffc4464e78 Add ability to open/close folders in New Note dialog 2024-08-04 17:12:17 +02:00
Jonatan Heyman
fdfe74ebf3 Change to non-deprecated syntax for ::v-deep selectors 2024-07-27 11:29:01 +02:00
Jonatan Heyman
d97d5558ea Use fuzzysort to filter languages 2024-07-27 11:26:10 +02:00
Jonatan Heyman
a95b043b12 Use fuzzysearch to filter notes in NoteSelector 2024-07-27 11:11:49 +02:00
Jonatan Heyman
d74499425e Sort notes in notes selector by how recent they were opened 2024-07-27 10:26:51 +02:00
Jonatan Heyman
4b39078689 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-07-26 11:30:25 +02:00
Jonatan Heyman
dbf675a28a WIP: Create new node dialog
Implement folder selector UI element.
Retrieve actual folder structure from Notes library.
2024-07-25 13:25:19 +02:00
Jonatan Heyman
52ae077287 Pixel push 2024-07-25 13:22:08 +02:00
Jonatan Heyman
44aed5feb0 Better error message 2024-07-25 13:21:28 +02:00
Jonatan Heyman
03db1efd2f Place scrollbar for Language selector and Note selector within the list instead of scrolling the whole "screen" 2024-07-24 14:30:14 +02:00
Jonatan Heyman
f11f360496 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-07-24 13:53:44 +02:00
Jonatan Heyman
f156320601 Add a way to display error dialogs 2024-07-24 12:31:19 +02:00
Jonatan Heyman
68c741ea46 Throw error if major format version is greater than the currently supported version 2024-07-17 15:20:21 +02:00
Jonatan Heyman
86243f493d Fix race condition that could cause the editor to not scroll the cursor(s) into the viewport upon loading 2024-07-15 20:23:17 +02:00
Jonatan Heyman
2e262241c9 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-07-15 10:45:25 +02: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
Jonatan Heyman
295e55552b Add version number to settings dialog.
For the web app we also display the git hash.
2024-01-12 15:09:13 +01:00
Jonatan Heyman
37b62d416e Move window.heynote.isWebApp to window.heynote.platform.isWebApp 2024-01-12 14:42:37 +01:00
Jonatan Heyman
e292fab449 Always show settings button in status bar (not just in web app) 2024-01-12 14:42:37 +01:00
Jonatan Heyman
5adbbc72ec
Add prev variable to Math blocks that holds the previous value (#156)
Moved documentation on Math blocks from the FAQ into it's own section in the Readme.
2024-01-11 21:28:11 +01:00
Jonatan Heyman
66e7082786 Set default font size to 16px in webapp for mobile devices in order to avoid auto zoom in when the keyboard appears on iOS Safari 2024-01-11 21:05:15 +01:00
Jonatan Heyman
c645b0bac8 Avoid zoom in on input focus, in the webapp on mobile devices
Set LanguageSelector's input font-size to 16px on mobile devices.

Add SASS mixins "webapp" and "webapp-mobile" to write specific CSS for those clients.
2024-01-11 21:05:15 +01:00
Jonatan Heyman
54e390eeec Set text color for language selector's input in dark mode
(in Electron it has a good default since the native UI gets it's theme set, but this does not happen in a browser where the user selects the dark theme)
2024-01-11 21:05:15 +01:00
Jonatan Heyman
922aa83a10 Fix "white flash" effect when resizing window in dark mode
* Fix so that the background color of the page gets properly set according to the current theme.

* Change so that we add the theme attribute to the <html> element instead of <body>, making it possible to use the +dark-mode SASS mixin in body CSS selectors

* Introduce CSS variables for the status bar's background and text colors
2024-01-11 16:58:21 +01:00