Commit Graph

193 Commits

Author SHA1 Message Date
Jonatan Heyman
aa628a4f08 Add new command for adding a new block after the current one, and moving the cursor to it. Change default Mod-Enter keybinding to use the new command, and added a new Mod-Shift-Enter keybinding to use the old command that inserts a new block separator at the cursor position (e.g. splits the current block).
#windows-build
2023-01-19 14:29:14 +01:00
Jonatan Heyman
1abefce1ec Fix broken Mod-L shortcut 2023-01-19 13:10:52 +01:00
Jonatan Heyman
b35e4840a4 Remove "optimization" because it can result in a outofbounds error 2023-01-19 13:08:56 +01:00
Jonatan Heyman
0d6d5daa40 Pixel push 2023-01-19 12:43:32 +01:00
Jonatan Heyman
221e42e30a Add ability to display the Lezer syntax tree for debugging 2023-01-19 12:29:23 +01:00
Jonatan Heyman
80febafd26 Small optimization of external noteContent parser 2023-01-19 11:31:49 +01:00
Jonatan Heyman
14152fbede Implement persistent buffer 2023-01-19 00:20:50 +01:00
Jonatan Heyman
c4e78a70ce Fix bug causing an endless loop with the lang auto detector continuously changing the language of the current block 2023-01-19 00:18:18 +01:00
Jonatan Heyman
335390d8e5 Update key binding help text 2023-01-18 21:36:48 +01:00
Jonatan Heyman
80feeed26c First block should not be have auto language 2023-01-17 01:25:07 +01:00
Jonatan Heyman
8d8f6cdcb3 Add support for Rust, XML and C++
Remove Lezer support
2023-01-16 23:43:22 +01:00
Jonatan Heyman
c3918c32c5 Don't use conflicting name "select" for language change event
#windows-build
2023-01-16 21:52:45 +01:00
Jonatan Heyman
996f5c131e Give back focus to editor when toggling themes 2023-01-16 21:31:52 +01:00
Jonatan Heyman
8214bf1bbb Add ability to change language using a language selector dialog 2023-01-16 21:30:30 +01:00
Jonatan Heyman
41573820ae Add CSS support
Add Language class and move language related settings into editor/language.js

In order to add an additional language now, one only has to add in to the LANGUAGES list, and add the token to heynote.grammar
2023-01-16 20:36:07 +01:00
Jonatan Heyman
4660f42460 Move App into components 2023-01-16 16:34:22 +01:00
Jonatan Heyman
0b34cc4dd3 Remove old test/template code 2023-01-16 16:32:48 +01:00
Jonatan Heyman
c8cc1cb5f1 Make moveLineUp and changeLanguageTo command respect state.readOnly 2023-01-16 15:33:05 +01:00
Jonatan Heyman
fc63ad1651 Add isMac, isWindows, isLinux to a global window.platform object in the renderer 2023-01-16 15:32:45 +01:00
Jonatan Heyman
818d7f0260 Add gotoNextBlock and gotoPreviousBlock commmands (keymapped to Mod-Up/Down) 2023-01-16 14:42:55 +01:00
Jonatan Heyman
7dc39ca6e4 Change selection and highlight colors of dark theme 2023-01-16 14:41:48 +01:00
Jonatan Heyman
f2bff13c6e Remove command for manually triggering language auto detection 2023-01-16 12:57:26 +01:00
Jonatan Heyman
15b86abf0f Rename note-block.js -> block.js 2023-01-16 12:55:39 +01:00
Jonatan Heyman
6a53168b05 Fix issue where auto detected language would not get emitted to the status bar immediately on language change, if the cursor wasn't changed at the same time 2023-01-16 11:12:54 +01:00
Jonatan Heyman
7a74798a11 Fix language auto detection/changing breaking undo/redo history 2023-01-16 11:11:28 +01:00
Jonatan Heyman
996d4338ce Use different initial content for development/release
#build
2023-01-15 20:24:31 +01:00
Jonatan Heyman
895bd4eccc Fix font path to (hopefully) work in release builds
#build
2023-01-15 20:06:57 +01:00
Jonatan Heyman
3b905951af Convert styles.css to SASS and include it by importing it in main.js.
Add fonts: Hack and Open Sans.
Change editor font to Hack.
2023-01-15 19:55:26 +01:00
Jonatan Heyman
7aab3874b0 Remove old unused files from template 2023-01-15 19:53:12 +01:00
Jonatan Heyman
249a6bbe11 Use CSS media query for dark mode specific CSS 2023-01-15 12:06:17 +01:00
Jonatan Heyman
2f842612fb Read dark/light mode from system, automatically listen for changes, and add button for toggling the mode to the status bar 2023-01-15 11:59:17 +01:00
Jonatan Heyman
7595d3fc86 Add ability to toggle dark/light theme 2023-01-15 02:37:12 +01:00
Jonatan Heyman
c80d5682d1 Tweak background color 2023-01-15 01:25:17 +01:00
Jonatan Heyman
672052dd7b Minor CSS tweaks 2023-01-14 23:40:28 +01:00
Jonatan Heyman
2b3a7817c8 Tweak colors of dark theme 2023-01-14 23:33:07 +01:00
Jonatan Heyman
856a9b16fd Set theme as a data property in App component 2023-01-14 23:32:53 +01:00
Jonatan Heyman
db9ed4e1db Move CSS related to blocks from styles.css into theme(s) 2023-01-14 20:04:30 +01:00
Jonatan Heyman
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
Jonatan Heyman
51e89ad55c Set padding-top on .cm-content class instead of using .block-start element for the padding. This fixes an issue with being able to scroll the editor when there is only a single line in the document.
Use 1px border for line between blocks. This way we can make sure blocks always overlap slightly, and we don't have to care about fractional pixel rounding errors.
2023-01-14 15:04:53 +01:00
Jonatan Heyman
52f1ac71da Optimize the Lezer external tokenizer for block content 2023-01-14 13:08:24 +01:00
Jonatan Heyman
f20c09ce19 Handle the fact that the syntax tree is being parsed in a separate thread, which can lead to broken UI on slow environments 2023-01-13 15:27:26 +01:00
Jonatan Heyman
8867937567 Use ensureSyntaxTree to not get visually broken blocks when syntax tree parsing is slow.
Update @codemirror/language to latest version.

Force a #build in order to get a Mac x86 verion built which is slower on rosetta to hopefully check that the problem is fixed.
2023-01-13 14:39:35 +01:00
Jonatan Heyman
9fb543fed3 Move contents of heynote-electron subdirectory into git repo root 2023-01-13 13:21:34 +01:00