Commit Graph

242 Commits

Author SHA1 Message Date
Matt Bierner
7df46143a1 Experiment with switching markdown extension to use native privates
Let's try this out with one extension to start
2026-03-10 23:13:16 -07:00
Ladislau Szomoru
4d7c56ee82 Engineering - Add GitHub action for pull requests (#254056)
* Test - handle running tests as part of a GitHub action

* Add GitHub action files
2025-07-04 08:21:56 +00:00
notoriousmango
c4f757d3ce verbose to trace 2025-02-20 18:42:41 +09:00
Matt Bierner
fc5cff7bb6 Allow overriding how markdown links are inserted using the keybinding (#234310)
Allows using the `kind` field in the `pasteAs` keybinding to force links to be inserted a certain way, such as as images
2024-11-21 00:55:47 +01:00
Johannes
1d86d98cca more test tweaks 2024-10-02 10:49:35 +02:00
Johannes
c4093a5112 tweak transpile and pasteUrl.test 2024-10-02 10:30:35 +02:00
Matt Bierner
7a623b31fb Fix frontmatter line map (#209556)
Fixes #209267
2024-04-04 19:39:21 +02:00
Matt Bierner
e5f5e91423 Make paste resource respect paste location (#207635)
Fixes #207186
2024-03-13 22:27:44 +01:00
Matt Bierner
da36e0eba1 Disable url smart paste in autolinks (#204673)
Fixes #188859
2024-02-07 18:01:32 -08:00
Matt Bierner
772791e9e5 Fix markdown link pasting when selection is inline code (#203657)
If the user selects a complete inline code block, we should paste as a markdown link with the code as the link text
2024-01-29 09:10:52 +01:00
Matt Bierner
98d55333b9 Fix md pasting inside of incomplete html block (#203476)
Fix pasting inside of incomplete html block

Fixes #188868
2024-01-28 23:55:19 -08:00
Matt Bierner
8f32885359 Use markdown engine to enable/disable smart paste (#202192)
Fixes #188863
Fixes #188958
Fixes #188868

This is more reliable than using the regular expressions. However the regular expressions are still needed for inline elements
2024-01-10 14:32:58 -08:00
Matt Bierner
0bb69da87c Add new smartWithSelection option for markdown links (#202183)
This becomes the new default while `smart` always smartly pastes, even with no selection
2024-01-10 20:01:52 +01:00
Matt Bierner
26ef59c6a7 Rework markdown paste resource (#201838)
Fixes #184980

This refactors much of the logic around markdown paste/drop. PR got a little large but the main highlights are:

- Allow using a custom snippet for inserted audio/video
- Merge the drop/paste resource provider classes since these are so similar
- Enable smart pasting of url text by default
- Refactor url paste logic
- For now, disable the behavior where url paste could paste a combination of markdown and plain uris. In practice this is confusing, especially because our labels for this were wrong. We can always reintroduce this later if multicursor users find it useful
2024-01-04 15:59:14 -08:00
Matt Bierner
9b8f216b8c Support escapes in markdown destination settings (#200911)
Support escaping `$` to prevent use as variable and escaping `/` inside of transforms
2023-12-15 02:02:27 +01:00
Matt Bierner
ff9fc384d3 Clean up and fix markdown url pasting (#198706)
Fixes #192568
2023-11-20 14:37:00 -08:00
Matt Bierner
ad31b067ab Fix markdown link inserting (#198702)
Fixes #190769
Fixes #195349

Also makes some small code cleanups
2023-11-20 21:10:43 +01:00
Meghan Kulkarni
1e882b5626 Deprioritize pasteAsMarkdown (#189433)
* deprioritize

* fix tests

* cleaned up code
2023-08-02 10:41:18 -07:00
Meghan Kulkarni
0e15feeb95 Fixed markdown regular expression (#189423)
* fixed md regex

* update shared.ts
2023-08-01 14:32:33 -07:00
Meghan Kulkarni
934cd52fa8 Links paste as plain text over markdown links (#189366)
* remove updateTitle

* fixed ranges and tests

* fix tests
2023-08-01 13:14:56 -07:00
Meghan Kulkarni
12985b627a Links are not automatically pasted as markdown over valid urls (#189347)
* check if selected text is link
2023-07-31 16:24:48 -07:00
Meghan Kulkarni
1fcc384bae Automatic markdown pasting should escape parentheses (#189357)
auto link with mismatched parens
2023-07-31 23:01:01 +01:00
Meghan Kulkarni
ed59945156 Links with no authority are considered invalid (#189323)
* edit validateLink
2023-07-31 19:36:21 +01:00
Meghan Kulkarni
f7d59ef171 Links are not automatically pasted as Markdown link if nothing is selected (#189338)
update automatic pasting
2023-07-31 11:30:03 -07:00
Meghan Kulkarni
b5a46136c4 Markdown link pasting does not encode or decode links (#188992)
* uris pasted with no encoding or decoding

* add tests for checking encoding
2023-07-27 20:13:03 +01:00
Meghan Kulkarni
df16c16211 Smart markdown pasting does not occur in tilde code block (#189004)
smart paste checks ~~~ code block
2023-07-27 09:09:38 -07:00
Meghan Kulkarni
87afa166d0 markdown link smart pasting (#188437)
* making markdown link pasting feature smarter

* update validateLink
2023-07-24 16:25:19 -07:00
Meghan Kulkarni
2ba9f17b3f making the markdown link paste feature smart (#188119)
* making markdown link pasting feature smarter

* Update settings description

Co-authored-by: Joyce Er <joyceerhl@gmail.com>

* made checkPaste more concise

* won't paste md link in fenced code or math

* updated the smart md link pasting

* link validation and naming changes

* resolving comments and tests

* resolving comments & writing tests

---------

Co-authored-by: Joyce Er <joyceerhl@gmail.com>
2023-07-20 15:16:40 -07:00
Daniel Imms
e29f8fd78f Remove .only from test (#170970) 2023-01-10 16:14:18 +01:00
Matt Bierner
fc763d98df Re-apply markdown copy files setting (#169661)
* Revert "Revert "Add experimental setting to define where files should be copied for markdown (#169454)" (#169615)"

This reverts commit b2121c2dbe.

* Fix tests

These paths should always use `/`
2022-12-20 11:04:51 -08:00
Christof Marti
b2121c2dbe Revert "Add experimental setting to define where files should be copied for markdown (#169454)" (#169615)
This reverts commit 1d6b47a005.
2022-12-20 10:03:12 +01:00
Matt Bierner
1d6b47a005 Revert 1d0a9f9e63 (#169578)
Resubmits the original PR with test fixes for windows
2022-12-19 14:25:37 -08:00
Benjamin Pasero
1d0a9f9e63 Revert "Add experimental setting to define where files should be copied for markdown" (#169492)
Revert "Add experimental setting to define where files should be copied for markdown (#169454)"

This reverts commit 09c0b1f799.
2022-12-18 14:11:45 -08:00
Matt Bierner
09c0b1f799 Add experimental setting to define where files should be copied for markdown (#169454)
For #157043
2022-12-16 16:23:59 -08:00
Matt Bierner
57dd298b47 Add typings for test runner scripts (#169196) 2022-12-15 02:19:24 +01:00
Matt Bierner
0b9121953f Added mangling loader for ts files in extensions 2022-11-14 16:34:04 -08:00
Matt Bierner
6cf68a1f23 Remove .only and fix tests (#163376)
Fixes #162159
2022-10-11 17:41:13 -07:00
Matt Bierner
d03f015931 Clean up structure of markdown extension (#161148)
- Move things related to the client under `client`
- Remove extra abstractions that are no longer used
- Add MdLanguageClient type
2022-09-19 07:16:45 +02:00
Matt Bierner
2d27f8db6a Use MD LS for resolving all document links (#160238)
* Use MD LS for resolving all document links

This switches the markdown extension to use the markdown language service when resolving the link. This lets us delete a lot of code that was duplicated between the extension and the LS

* Pick up new ls version
2022-09-07 20:55:14 -07:00
Matt Bierner
b012216211 Fix markdown images having duplicate ids (#157177)
Fixes #153144
2022-08-05 06:31:42 +02:00
Matt Bierner
32f5e49082 Move MD diagnostics to language server (#155653)
* Move MD diagnostics to language server

This switches us to using the LSP pull diagnostic model with a new version of the language service

* Bump package version

* Delete unused file
2022-07-19 16:34:09 -07:00
Matt Bierner
394eaa9fa3 Fix md document links for untitled files (#155248) 2022-07-14 18:15:13 -07:00
Matt Bierner
9ee8961347 Move MD references, rename, and definition support to md LS (#155127) 2022-07-14 08:32:27 +02:00
Matt Bierner
bec36ce756 Move md path completions and document links to language server (#155100) 2022-07-13 12:49:37 -07:00
Matt Bierner
eeb8d49317 Move md workspace symbol search to language service (#154874)
* Move md workspace symbol search to language service

Also implements more of IWorkspace for the server

* Revert extra change
2022-07-12 10:04:25 -04:00
Matt Bierner
e02c71e3c6 Fix range of reference links (#154819)
Fixes #150921
2022-07-11 17:46:15 +02:00
Matt Bierner
2fb56e9d62 Move smart select and folding to md language server (#154334)
* Move smart select and folding to md language server

Also fixes a few minor issues:

- Don't log to web console
- Remove convert code since it is no longer needed
- Use correct extension id

* bump cache

* Bump package version

Co-authored-by: João Moreno <joao.moreno@microsoft.com>
2022-07-07 07:30:03 -07:00
Matt Bierner
ad9675f099 Scaffold out basic markdown language server (#154293)
* Scaffold out basic markdown lsp

This scaffolds out a new markdown language server and then uses it to implement document symbols. After the change, the markdown extension will have the following structure:

- languageService — Where all the LSP language stuff will eventually land
- server — The actual language server. Consumes ` languageService`
- src — The current extension that launches the server and implements VS Code specific functions

* Adding build scripts

* a

* Use language service from github

* Remove ls build scripts

* Bump versions

* Only build ext

* Enable for web

* Fixing for browser
2022-07-06 16:03:24 -07:00
Matt Bierner
f6271dd82e Fix angle bracket path completions for link defs (#154182)
Fixes #153866
2022-07-05 11:55:20 -07:00
Matt Bierner
fc0bd9d377 Remove reliance on document.lineAt (#154191)
* Remove reliance on document.lineAt

This helps aligning more with the LSP types: https://github.com/microsoft/vscode-languageserver-node/issues/146

* Strip newline
2022-07-05 11:52:47 -07:00