33 Commits

Author SHA1 Message Date
Le Tan
cd2ac10509 vim-mode: refine command line mode
1. Support `/` and `?` to search. `N` and `Shift+N` to find next/previous
occurence.
2. `Ctrl+N` and `Ctrl+Shift+N` to navigate through the command history.
3. `:nohlsearch` or `<leader><space>` to clear search highlight.
4. `#` and `*` to search current word under cursor.
2017-07-13 18:26:38 +08:00
Le Tan
301879c50c edit-tab: init editor at the first time entering edit mode
Do not init the editor if we just open a note in read mode to speed up.
2017-07-10 13:23:07 +08:00
Le Tan
a87048cac2 bug-fix: compare two paths with case convertion on Windows
On Windows, case difference in file name is ignored.
2017-07-03 19:09:50 +08:00
Le Tan
9278149941 vim-mode: support shorcuts to jump between titles
- `[[`: jump to previous title;
- `]]`: jump to next title;
- `[]`: jump to previous title at the same level;
- `][`: jump to next title at the same level;
- `[{`: jump to previous title at a higher level;
- `]}`: jump to next title at a higher level;
2017-06-30 20:31:46 +08:00
Le Tan
d909091f46 vim-mode: add an indicator for Vim status in status bar 2017-06-19 15:56:12 +08:00
Le Tan
ffce4b9611 vim-mode: message for Vim mode 2017-06-18 09:44:11 +08:00
Le Tan
eba2556a3a vim-mode: support DELETE action
Actions related to `d` and `x`.
2017-06-14 17:25:24 +08:00
Le Tan
a8c76d6742 support normal Vim mode
1. Support Insert/Normal/Visual/VisualLine modes:
    - `V`, `v`, `I`, `i`, `A`, `a`, `s`, `Esc`, `Ctrl+[`, `o`, `O`;
2. Support movement commands (with Repeat support):
    - `h`, `j`, `k`, `l`, `gj`, `gk`;
    - `gg`, `G`;
    - `^`, `0`, `$`;
    - `Ctrl+U`, `Ctrl+D`, `PageUp`, `PageDown`, `Ctrl+B`;
2017-06-11 16:31:25 +08:00
Le Tan
443ee772a7 make cursor visible after highlight completed
Highlight may turn originlly visible cursor partially visible. We make
it visible in this case.
2017-06-03 15:55:00 +08:00
Le Tan
97051badf0 refactor TOC logics 2017-06-01 13:21:17 +08:00
Le Tan
6a10c7ab3c refactor DocType 2017-05-29 18:56:43 +08:00
Le Tan
e5021f4501 refactor local image folder
Treat those images which have relative path and locate in directories
that have the same parent directory as the file as internal images.
VNote will only manage the internal images.
2017-05-10 15:53:33 +08:00
Le Tan
2bdf388c7b constrain the width of previewed images to the eidt window's width 2017-05-06 19:13:58 +08:00
Le Tan
a8614839d9 refactor image preview logics by adding VImagePreviewer
1. Support previewing non-relative local images;
2. Support previewing network images;
2017-05-06 12:25:18 +08:00
Le Tan
44257913f7 support code block syntax highlihgt in edit mode
In edit mode, highlight code blocks via parsing the result of HighlightJS.
We only highlight fenced code blocks by token-matching.

Support custom style in MDHL file.
2017-04-19 15:08:26 +08:00
Le Tan
584472f902 fix tab order and TOC level in edit mode
1. Fix tab order of left and right corner widgets;
2. Insert [EMPTY] header when header level is not continuous in edit mode.
2017-04-04 13:21:51 +08:00
Le Tan
c48fbe16da refine editor style
1. Support editor-current-line and editor-selection style in MDHL;
2. Support vim-background in editor-current-line;
2017-03-31 20:44:30 +08:00
Le Tan
d47dd92f59 refine markdown render logics
Add common templates markdown_template.html and
markdown_template.js.

Hoedow provides hoedown.js.
Marked provides marked.js.
2017-03-20 20:45:17 +08:00
Le Tan
ee6fc69bb1 pop up a menu when inserting image or URL 2017-03-20 20:40:52 +08:00
Le Tan
010f4245f6 bugfix: clear image preview blocks having unmatched image path
The syntax highlighter could not recognize image links with spaces in
the URL. When clearing orphan image preview block, we need to clear
thoes blocks which having unmatched image path.

Fix issue: after inserting spaces in the URL of an image link, the
preview block still exists.

Signed-off-by: Le Tan <tamlokveer@gmail.com>
2017-01-22 19:40:43 +08:00
Le Tan
180ab46367 bugfix: highlight links and images with spaces in URL
It is said that URL should not contain spaces. Anyway, we use regular
expression syntax highlighting to complement PEG Markdown Highlight.

Signed-off-by: Le Tan <tamlokveer@gmail.com>
2017-01-22 19:39:43 +08:00
Le Tan
5a097421e1 bugfix: check hasFocus() when handling clipboard change
When copying the preview image, other tabs should check if they have the focus.

Signed-off-by: Le Tan <tamlokveer@gmail.com>
2017-01-13 22:31:54 +08:00
Le Tan
901c477705 utilize ExtraSelection for special highlighting
1. Highlight current line;
2. Highlight selected word;
3. Highlight searched word;

Signed-off-by: Le Tan <tamlokveer@gmail.com>
2017-01-12 21:00:06 +08:00
Le Tan
7eadaed727 support copying image from image preview block
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-31 16:12:51 +08:00
Le Tan
385abb3041 hide image preview block when selected
We do not want user to copy the image preview block (a special char).

Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-31 14:13:42 +08:00
Le Tan
059e8dacd2 change cursorline color in Vim mode
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-29 22:23:20 +08:00
Le Tan
3b442f55a9 highlight curren cursor line
Add configuration "highlight_cursor_line" in vnote.ini.

Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-25 20:31:59 +08:00
Le Tan
3ce9f02007 clear corrupted image preview block
Users may add some texts in the image preview block around the image. In
this case, we should just delete the image and insert another preview
block.

Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-21 21:37:33 +08:00
Le Tan
d2f61bc605 add shortcuts
1. `Ctrl + W`, `Ctrl + R`, `Ctrl + Q`, `Ctrl + S` for edit and view mode;
2. `Ctrl + E` to toggle expand view;
3. `Ctrl + N` to create note in current directory;
4. `Ctrl + H` in edit mode to delete previous char;
5. `Ctrl + W` in edit mode to delete till the start of previous word;
6. `Ctrl + U` in edit mode to delete till the start of current line;
7. `Tab`, `Shift + Tab` to indent or unindent selected lines;
8. `Ctrl + B`, `Ctrl + I` to make selected text bold or italic;

Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-18 22:26:01 +08:00
Le Tan
a22bf1059d preview image links
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-17 12:38:01 +08:00
Le Tan
5ff46d6237 implement insert image menu action
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-12 23:14:53 +08:00
Le Tan
66c1d543c2 synchronize current header in read and edit mode
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-12 21:58:53 +08:00
Le Tan
a884991150 refactor: add VMdEdit to inherit VEdit for markdown edit
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-12-11 14:42:01 +08:00