Commit Graph

31 Commits

Author SHA1 Message Date
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
156cc8b1bb Propagate settings changes to all cached Editor instances (and not just the active one) 2024-12-09 12:37:05 +01:00
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
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
769d7eb0fb Throw error if major format version is greater than the currently supported version 2024-12-09 12:37:05 +01:00
d82b3920d7 Add setting for configuring the default block language and language auto detection 2024-07-14 12:19:29 +02:00
a56a267e06 Add support for changing font family and font size 2024-01-09 00:35:33 +01:00
554e04ea67 Fix test on linux/windows
Change Playwright reporter when running in Github action

Change default emacs meta key to Alt on non Linux and Windows

Always set emacsMetaKey to "alt" if not on Mac, since the option is only available on Mac
2024-01-06 01:51:07 +01:00
957b22c70e Refactor the way we handle copy/cut/paste in Emacs mode
Previously we listened for the key bindings for copy, cut and paste in the Electron main process, and triggered the event using copy(), paste() and cut() methods on win.webContent. Now this is fully handled within the renderer process using the window.navigator.clipboard API.

This will make it simpler to implement fully customizable key bindings.
2024-01-06 01:51:07 +01:00
b9fd161551 Add functionality for selecting a custom path for the buffer file. (#130)
Automatically reload the buffer file (if one exists) when buffer path is changed.
Move code buffer related code from main/index.ts into buffer.js
2024-01-05 00:41:46 +01:00
0f3c714d56 CloseBrackets setting toggle (#102)
* Add a setting to toggle the auto bracket-closing of CodeMirror

* Move Auto-close brackets setting into new settings tab Editing

* Add tests for Auto-close bracket setting

---------

Co-authored-by: Jonatan Heyman <jonatan@heyman.info>
2024-01-04 14:52:41 +01:00
4274e6237b Watch buffer file for changes, and automatically reload it if changed (#76)
* Implement Buffer class in main process that watches for changes to the file, and notifies the editor in the renderer process so that it can update the buffer.

* Add Editor.setReadOnly() method

* Add dummy onChangeCallback function

* Remove debug logging
2024-01-01 19:04:40 +01:00
1006fd4580 Implement tests using Playwright (#68)
* Set up Playwright and add first test

* Add npm run commands for running tests
Run tests in github actions

* Fix tests on non Mac environments

* Add method to HeynoteEditor class to set the buffer content

* Add more tests

* Set Github action job name
2023-12-25 17:41:15 +01:00
cfb95540df Add selection size to status bar when there are selections 2023-12-08 00:28:26 +01:00
0c567384ee Refresh Math blocks when new exchange rates are loaded 2023-07-04 14:01:59 +02:00
e1fe26b881 Add format block button to status bar, when a supported block is active 2023-03-03 01:40:24 +01:00
5f98323586 Add setting for turning on/off line number gutters and fold gutters 2023-01-27 17:18:31 +01:00
305ec124ac Continuously render the debug syntax tree 2023-01-21 16:01:59 +01:00
924fd4b226 Replace block separators with "\n\n" when copying text.
Add Settings dialog.
Started implementing Emacs-like keymap.
2023-01-20 15:33:26 +01:00
1abefce1ec Fix broken Mod-L shortcut 2023-01-19 13:10:52 +01:00
0d6d5daa40 Pixel push 2023-01-19 12:43:32 +01:00
221e42e30a Add ability to display the Lezer syntax tree for debugging 2023-01-19 12:29:23 +01:00
14152fbede Implement persistent buffer 2023-01-19 00:20:50 +01:00
335390d8e5 Update key binding help text 2023-01-18 21:36:48 +01:00
80feeed26c First block should not be have auto language 2023-01-17 01:25:07 +01:00
8214bf1bbb Add ability to change language using a language selector dialog 2023-01-16 21:30:30 +01:00
fc63ad1651 Add isMac, isWindows, isLinux to a global window.platform object in the renderer 2023-01-16 15:32:45 +01:00
996d4338ce Use different initial content for development/release
#build
2023-01-15 20:24:31 +01:00
7595d3fc86 Add ability to toggle dark/light theme 2023-01-15 02:37:12 +01:00
856a9b16fd Set theme as a data property in App component 2023-01-14 23:32:53 +01:00
6dee4f81f2 Integrate Editor into Vue app
Add status bar that shows the current line number, column and block language
2023-01-14 19:51:24 +01:00