aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src/ui/markdown.rs
Commit message (Collapse)AuthorAge
* Avoid cloning the whole paragraph content just for rendering (#9739)Mo2024-02-27
| | | | | * Avoid cloning the whole paragraph content just for rendering * Fix tests
* fix lsp config reload (#9415)kyfanc2024-02-13
| | | | | | | | `syn_loader` was replaced rather than interior value being replace, old value was still being referenced and not updated after `:config-refresh`. By using `ArcSwap` like for `config`, each `.load()` call will return the most updated value. Co-authored-by: kyfan <kyfan@email>
* Fix pulldown_cmark breaking changes to tag typesMichael Davis2024-02-07
| | | | | | | * Tags and TagEnd are now separate enums since <https://redirect.github.com/raphlinus/pulldown-cmark/pull/517>. * The `Tag::Heading` member has been changed from a tuple variant to a struct variant.
* markdown: Recognize `<code>` tags with attributes as code (#8397)Michael Davis2023-09-26
|
* Style Bold/Italic/Strikethrough markdown in docs (#8385)A-Walrus2023-09-25
| | | | | * Style Bold/Italic/Strikthrough markdown in docs * Flatten to single match
* highlighted_code_block: Take input text as &strMichael Davis2023-07-27
| | | | | | This removes a handful of allocations for functions calling into the function, which is nice because the prompt may call this function on every keypress.
* Prefer RopeSlice to &Rope in helix_core::syntaxMichael Davis2023-07-27
| | | | | | | | | | | | | | | Pascal and I discussed this and we think it's generally better to take a 'RopeSlice' rather than a '&Rope'. The code block rendering function in the markdown component module is a good example for how this can be useful: we can remove an allocation of a rope and instead directly turn a '&str' into a 'RopeSlice' which is very cheap. A change to prefer 'RopeSlice' to '&Rope' whenever the rope isn't modified would be nice, but it would be a very large diff (around 500+ 500-). Starting off with just the syntax functions seems like a nice middle-ground, and we can remove a Rope allocation because of it. Co-authored-by: Pascal Kuthe <pascal.kuthe@semimod.de>
* automatically disable TS when parsing takes longer than 500msPascal Kuthe2023-05-18
|
* inject language based on file extension & shebang (#3970)Timothy DeHerrera2023-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * inject language based on file extension Nodes can now be captured with "injection.filename". If this capture contains a valid file extension known to Helix, then the content will be highlighted as that language. * inject language by shebang Nodes can now be captured with "injection.shebang". If this capture contains a valid shebang line known to Helix, then the content will be highlighted as the language the shebang calls for. * add documentation for language injection * nix: fix highlights The `@` is now highlighted properly on either side of the function arg. Also, extending the phases with `buildPhase = prev.buildPhase + ''''` is now highlighted properly. Fix highlighting of `''$` style escapes (requires tree-sitter-nix bump) Fix `inherit` highlighting. * simplify injection_for_match Split out injection pair logic into its own method to make the overall flow easier to follow. Also transform the top-level function into a method on a HighlightConfiguration. * markdown: add shebang injection query
* Fix lacking space panic (#6109)nuid322023-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | * Fix lack of space for popup crash * Fix saturating -> wrapping * Fix wrapping -> saturating (I am an idiot) * Remove useless "mut" in helix-tui/src/buffer.rs Co-authored-by: Michael Davis <mcarsondavis@gmail.com> * Remove redundant bound-check * Return bound-check back * Add bound-check for set_style * Remove set_style bound-check * Revert bound-check --------- Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Render html <code> tags as code in markdown (#3425)A-Walrus2022-09-13
|
* Fix markdown indented code block rendering (#3503)Clay2022-08-24
|
* Add lsp signature help (#1755)Gokul Soumya2022-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add lsp signature help * Do not move signature help popup on multiple triggers * Highlight current parameter in signature help * Auto close signature help * Position signature help above to not block completion * Update signature help on backspace/insert mode delete * Add lsp.auto-signature-help config option * Add serde default annotation for LspConfig * Show LSP inactive message only if signature help is invoked manually * Do not assume valid signature help response from LSP Malformed LSP responses are common, and these should not crash the editor. * Check signature help capability before sending request * Reuse Open enum for PositionBias in popup * Close signature popup and exit insert mode on escape * Add config to control signature help docs display * Use new Margin api in signature help * Invoke signature help on changing to insert mode
* Fix some typos (#2978)A-Walrus2022-07-06
|
* Refactor Margin for fine grained control (#2727)Gokul Soumya2022-06-21
|
* Improve markdown list rendering (#2687)Frojdholm2022-06-15
| | | | | | | * Cleanup old commented code * Implement line breaks in markdown rendering * Implement markdown nested, numbered and multiparagraph lists
* Do not add extra line breaks in markdown lists (#2689)Frojdholm2022-06-08
|
* Allow highlighting additional spans in md rendererGokul Soumya2022-03-08
|
* Extract markdown code block highlighting functionGokul Soumya2022-03-08
|
* Fallback to broader scope if theme scope not found (#1714)Gokul Soumya2022-03-04
|
* fix: ui: Markdown popups stopped taking vertical padding into accountBlaž Hrastnik2022-02-21
| | | | Fix #1688
* Simplify some codeBlaž Hrastnik2022-02-21
|
* Allow separate styles for markup headings (#1618)Alex2022-02-21
| | | | | * update markdown highlighting to use separate heading themes * remove markdown theme scopes in ui
* fix: Allow multi-line prompt documentationBlaž Hrastnik2022-02-20
|
* fix: There is no such thing as markup.normal, use ui.textBlaž Hrastnik2022-02-07
|
* Use markup scopes for the Markdown component (#1363)CossonLeo2022-01-24
|
* syntax: Split parsing and highlightingBlaž Hrastnik2022-01-23
|
* Dependabot/cargo/pulldown cmark 0.9.1 (#1533)Skyler Hawthorne2022-01-18
| | | | | | | | | | | | | | | | | | | | * build(deps): bump pulldown-cmark from 0.8.0 to 0.9.1 Bumps [pulldown-cmark](https://github.com/raphlinus/pulldown-cmark) from 0.8.0 to 0.9.1. - [Release notes](https://github.com/raphlinus/pulldown-cmark/releases) - [Commits](https://github.com/raphlinus/pulldown-cmark/compare/v0.8.0...v0.9.1) --- updated-dependencies: - dependency-name: pulldown-cmark dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * cmark 0.9 fixes Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ui: popup: Don't allow scrolling past the end of contentBlaž Hrastnik2021-12-10
|
* TODOBlaž Hrastnik2021-11-29
|
* Solarized theme: fix popup colors, adjust menu (#1124)Skyler Hawthorne2021-11-20
| | | | | * fix popup colors, adjust menu * fix hardcoded horizontal rule color
* Remove unused importsBlaž Hrastnik2021-11-18
|
* ui: Stop hardcoding markdown doc colorsBlaž Hrastnik2021-11-18
|
* syntax: Properly handle injection-regex for language injectionsBlaž Hrastnik2021-09-16
|
* Optimize completion doc position. (#691)CossonLeo2021-09-08
| | | | | | | | | | | | | | | | | | | * optimize completion doc's render * optimize completion doc's render * optimize completion doc position * cargo fmt * fix panic * use saturating_sub * fixs * fix clippy * limit completion doc max width 120
* Refactor new Rect construction (#575)Gokul Soumya2021-08-21
| | | | | | | | | | * Refactor new Rect construction Introduces methods that can be chained to construct new Rects out of pre-existing ones * Clamp x and y to edges in Rect chop methods * Rename Rect clipping functions
* Show file preview in split pane in fuzzy finder (#534)Gokul Soumya2021-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add preview pane for fuzzy finder * Fix picker preview lag by caching * Add picker preview for document symbols * Cache picker preview per document instead of view * Use line instead of range for preview doc * Add picker preview for buffer picker * Fix render bug and refactor picker * Refactor picker preview rendering * Split picker and preview and compose The current selected item is cloned on every event, which is undesirable * Refactor out clones in previewed picker * Retrieve doc from editor if possible in filepicker * Disable syntax highlight for picker preview Files already loaded in memory have syntax highlighting enabled * Ignore directory symlinks in file picker * Cleanup unnecessary pubs and derives * Remove unnecessary highlight from file picker * Reorganize buffer rendering * Use normal picker for code actions * Remove unnecessary generics and trait impls * Remove prepare_for_render and make render mutable * Skip picker preview if screen small, less padding
* Fix unused variable, parameter, and `mut` warnings in helix-term.Nathan Vegdahl2021-07-02
|
* Remove #[allow(unused)] from helix-term, and fix unused imports.Nathan Vegdahl2021-07-02
| | | | Lots of other warning still left. Will address in subsequent commits.
* reverse the dependency between helix-tui and helix-view (#366)Keith Simmons2021-06-25
| | | | | | | | | * reverse the dependency between helix-tui and helix-view by moving a fiew types to view * fix tests * clippy and format fixes Co-authored-by: Keith Simmons <keithsim@microsoft.com>
* Merge branch 'master' of github.com:helix-editor/helix into ↵Nathan Vegdahl2021-06-20
|\ | | | | | | | | | | | | line_ending_detection Rebasing was making me manually fix conflicts on every commit, so merging instead.
| * Make completion window move to top when cursor is below halfwojciechkepka2021-06-20
| |
| * Add ability to change theme on editorwojciechkepka2021-06-19
| |
* | Work on moving code over to LineEnding instead of assuming '\n'.Nathan Vegdahl2021-06-20
|/ | | | Also some general cleanup and some minor fixes along the way.
* Completion: Format docs tabs & highlight in the doc's native languageBlaž Hrastnik2021-05-30
|
* Update deps, introduce the new tree-sitter lifetimesBlaž Hrastnik2021-05-27
|
* Define text color (mostly) in theme.toml.Blaž Hrastnik2021-05-07
|
* Clippy lint: replace with default -> takeBlaž Hrastnik2021-04-07
|
* Add the machinery to load syntax config from TOML.Blaž Hrastnik2021-03-25
| | | | It's embedded into the binary at build time for now, but it's progress.
* ui: markdown: remove trailing blank line.Blaž Hrastnik2021-03-22
|