Releases: lapce/lapce
v0.2.2
Features/Changes
- #1643: Use https://plugins.lapce.dev/ as the plugin registry
- #1620: Added "Show Hover" keybinding that will trigger the hover at the cursor location
- #1619:
- Add active/inactive tab colours
- Add primary button colour
- Replace custom drawn checkboxes with icons in source control
- Add hover effect in source control panel
- Add colour preview in settings
- #1617: Fixed a stack overflow that would crash lapce when attempting to sort a large number of PaletteItems
- #1609: Add syntax highlighting for erlang
- #1590: Added ability to open file and file diff from source control context menu
- #1570: Added a basic tab context menu with common close actions
- #1560: Added ability to copy active editor remote file path to clipboard
- #1510: Added support to discard changes to a file
- #1459: Implement icon theme system
- This is a breaking change for colour themes!
- Colour themes should now use
[color-theme]
table format in theme TOML volt.toml
now usecolor-themes
andicon-themes
keys.themes
key is not used anymore.
- #1554: Added XML language support
- #1472: Added SQL language support
- #1531: Improved Ctrl+Left command on spaces at the beginning of a line
- #1491: Added Vim shift+c to delete remainder of line
- #1508: Show in progress when Lapce is self updating
- #1475: Add editor setting: "Cursor Surrounding Lines" which sets minimum number of lines above and below cursor
- #1525: Add editor indent guide
- #1521: Show unique paths to disambiguate same file names
- #1452: Wrap selected text with brackets/quotes
- #1421: Add matching bracket highlighting
- #1541: Order palette items according to last execute time
Bug Fixes
- #1566|#1568: Use separate colour for drag and drop background
- #1459: Fix opening currently used logfile
- #1505: Fix proxy download for hosts with curl without -Z flag
- #1483: Fix showing the close icon for the first tab when opening multiple tab
- #1477: Now use
esc
to close searchbar regarless of the current focus - #1507: Fixed a crash when scratch buffer is closed
- #1547: Fix infinite cycle in workspace symbol search
- #1628: Fix kts files not being recognized
v0.2.1
Features/Changes
- #1050: Collapse groups of problems in the problem list panel
- #1165: Command to reveal item in system file explorer
- #1196: Always show close button on focused editor tabs
- #1208: Sticky header breadcrumbs
- This provides a header at the top which tells you information about the current scope! Especially useful for long blocks of code
- As well, you can see that there is now a breadcrumb path to the current file.
- A language with syntax highlighting can have this added, even without an LSP. Take a look at
language.rs
if your language isn't supported!
- #1198: Focus current theme/language in palette
- #1244; Prettier plugin panel
- #1238: Improved multicursor selection
- #1291: Use link colour for empty editor buttons
- #1234: Automatic line height
- #1262: Add absolute/relative copy path to file explorer
- #1284: Render whitespace (default: none)
- #1308: Handle LSP ResourceOp
- #1251: Add vim's paste-before
P
command - #1319: Add information page for plugins
- #1344: Replace the branch-selector menu with a scrollable list
- #1352: Add duplicate line up/down commands
- #1281: Implement logic for displaying plugin installation status
- #1353: Implement syntax aware selection
- #1358: Add autosave implementation
- #1381: Show multiple hover items in the hover box
- #1040: Add keybindings for
Shift-Del
,Shift-Ins
, andCtrl-Ins
- #1401: Merge semantic and tree-sitter syntax highlighting
- 1426: Add cursor position/current selection in status bar
- #1420: Add LSP
codeAction/resolve
support - #1440: IME support
- #1449: Plugin settings in the editor support. Though this still needs some work from plugins to expose them all nicely!
- #1441: Button for Case-Sensitive search
- #1471: Add command to (un)install Lapce from/to PATH
- #1419: Add atomic soft tabs: now you can move your cursor over four spaces as if it was a single block
Syntax / Extensions
- #957: Replace existing tree-sitter syntax highlighting code with part of Helix's better implementation
- This means that syntax highlighting for more languages! Such as fixing markdown support, and making so that languages embedded in others (like JavaScript in HTML) work.
- Note that not all themes have updated themselves to include the extra scopes/colors.
- #1036: Recognize ESM/CJS extensions for JavaScript/TypeScript
- #1007: Add ability to bind a key shortcut for quitting the editor
- #1104: Add syntax highlighting for Dockerfile, C#, and Nix
- #1118: Recognize
pyi, pyc, pyd, pyw
extensions for Python - #1122: Recognize extensions for DLang
- #1335: Highlighting for DLang
- #1153: Recognize and add highlighting for Dart
- #1161: Recognize and add highlighting for Svelte and LaTeX files
- #1299: Recognize and add highlighting for Kotlin
- #1326: Recognize and add highlighting for Vue
- #1370: Recognize and add highlighting for R
- #1416: Recognize and add highlighting for Scheme
- #1145: Adds/Fixes highlighting for C/C++/TypeScript/JavaScript/Zig/Bash
- #1272: Adds/Fixes highlighting for Elm/JSX/TSX
- #1450: Add
tf
extension for HCL
Bug Fixes
- #1030: Don't try to open an font file with an empty name if there is no font family set
- 9f0120d: Fix excessive CPU usage in part of the code
- bf5a98a: Fix issue where sometimes Lapce can't open
- #1084: Use host shell in terminal when running inside Flatpak
- #1120: Make Alt+Backspace work in the terminal properly
- #1127: Improve Julia highlighting
- #1179: Various improvements/fixes to window-tab functionality
- #1210: Fixed closing modified file when closing split
- #1219: Fix append command behavior
- #1250: Fix too long socket path for proxy
- #1252: Check whether the active editor tab index actually exists, avoiding a potential crash
- #1294: Backward word deletion should respect whitespace better
- #1301: Fix incorrect path when going from Url -> PathBuf (such as from an LSP)
- #1368: Fix tabstop for postfix completions
- #1388: Fix regex search within the terminal
- #1423: Fix multiple cursor offset after inserting opening pair
- #1434: Join PATH with correct platform separator
- #1443: Correct terminal font sizing
- #1453: Trim whitespace from search results
- #1461: Load shell environment when launching from GUI
- Many more fixes!
Other
v0.2.0
Features/Changes
- #776: Implemented error lens.
- #780: Add Fedora spec for packaging
- #787: Add LSP stderr output to log
- #809: Truncate plugin description with ellipsis when it is too long
- #805: Add goto type definition support. (Where you can jump to the definition of the type a variable is of)
- #800: Add alpine dev-container
- #806: Add next/previous tab commands and keybindings. (Note that this is moving left/right in the tabs, not to the last used tab)
- c5f1692: Make undo more granular
- 69e6b83: Fix alpha-depth issue in painting
- #821: Display documentation of completion items.
- #825: Add config option for cursor blink interval
- #836: Use new highlighter query for Julia
- bcd6ff7: Title update
- c3bcc13: Full screen fix. Changes Lapce icon to work better on common color schemes.
- #848: Separate plugin panel into two parts, installed and uninstalled.
- 722c678: Custom title bar on Linux and palette bar
- #840: Preserve unsaved files when closing, which are restored when opening Lapce again
- #880: Add the ability to enable, disable, and remove plugins
- #887: Don't paint tiny tab drags
- #905: Add command to toggle inlay hints
- #913: Add daily nightly build
- #916: Don't show autocomplete after whitespace keys
- #927: Make completion/palette allow page-up/down keys
- #895: Add setting to control palette preview editor's width
- #937: Don't show autocomplete after backspacing over whitespace
- #948: Add the ability to resize editor/terminal/various splits.
- #972: Auto update
- #979: Add elixir file extensions (so that they can be recognized)
- #807: Add syntax highlighting for WGSL
- #903: Add more file extensions (so that they can be recognized)
- #981: Differentiate between stable/nightly/debug. This puts configuration in different folders, depending on your version!
- #990: Rework titlebar
- #1010: Add palette commands to open various Lapce directories
- #1009: Add about dialog
- 8687b7d: Add the ability to rename a symbol
- (Bunch of different commits): Added beginnings of plugin-server-protocol, which allows plugins to use LSP features and more.
Bug Fixes
- #781: Give the plugin panel a scroll bar
- #789: Check LSP capabilities before sending commands. Fixes most of Julia LSP support.
- #803: Properly check if a line is after the end of the document in line styles
- #788: Use FS module
- #833: Fix crashing on semantic tokens going past last line
- #831: Fix goto ref on single references
- 1008682: Reload explorer on file change, just in case our watching code didn't activate.
- #849: (LSP) Specify the workspace folder of the root uri if available.
- #850: Set the current directory when starting the LSP
- #869: Read files lossily, in case they are not UTF8.
- #884: Use UTF16 encoding for communicating with LSPs. This should fix a bunch of bugs with unicode causing RA or the editor to crash.
- #914: Fix keybinds on Mac with Command+Shift
- 474bb00: Fix MacOS Option Key
- #925: Properly open editors when applying text edits via code actions to editors which aren't focused or open.
- #930: Prevent crash on save with multiple windows
- #961: Fix calculation of mouse down position in the problem panel
- #843: Follow system OS paths better
- fd74be8: Proxy rewrite! This should make lock-ups not happen, and be easier to add onto.
- 85e41dc: Find box result count should use the current buffer
- #996: Pass uname as multiple args to fix WSL
- #1011: Align settings button size to window controls
- #1017: Don't fail on missing primary monitor
- Various other bug fixes
v0.1.3
Changelog:
Features
- #705/#711: Changed UI
- The left activity bar has been moved to above the file explorer, giving more horizontal space by default
- The bottom panel now has the terminal/search/problems buttons attached to it, rather than at the very bottom
- Panels can now be dragged to the left/bottom/right as you wish
- Buttons on tab bar to move between tabs
- #706: File icons for CSS, HTML, JavaScript, Lua, Python, TypeScript and ZIP files.
- #666: Add the ability to search for symbols in the workspace in the palette with the
#
prefix - #653: Give the file explorer sidebar a context menu
- Create new files/directories, rename them, and move them to the trash
- #710: Custom titlebar support (Windows)
- #715: Inlay Hint support
- Git:
- Nightly releases added to Github
- Languages:
- #690: Highlighting for Bash and Zig
- #677: Recognize C/C++ file extensions
- #674:
- Enables CSS highlighting
- Bumps tree-sitter
- Bumps tree-sitter-python
- #664: Highlighting for Hare
- #656: Highlighting for several languages: OCaml, Glimmer, Haxe, HCL, and SCSS
- #636: Highlighting for Haskell, CodeQL, and Swift
- #625: Highlighting for Elm
- #762: Highlighting for Julia
- #549: Language server improvements that make gopls usable
- #641: Maintain maximised state across restarts
- #639: Improve the behavior of Home in non-vim mode
- #634: Add an executable icon on Windows
- #633: Add an option deciding whether it should format on save
- #629: Make
Ctrl+Space
show autocompletion at the cursor - #622: Display the number of results and the current result in the find UI
- #617: Add setting to toggle relative line numbering in modal mode
- #728: Add option to use LSP from PATH
- #735: Make Ctrl+C act like Escape in Modal Mode's Normal Mode
- #744: Properly handle LSP requests for listening to file saving
- #748: Add setting for hover font family and font size
- #738: Add commandline arguments
- #756: Add language name to status bar
- #702: Add command to change file syntax language
- a92b3f2: Make status line items clickable
- #766: Set window minimal size
Bug Fixes
- #701: Verify that the working directory exists or use the home directory for alacritty
- 7d6b739 Markdown support fixed
- #670: Make shift-delete and shift-backspace behave the same as delete and backspace respectively.
- da1d807: Make the distinction between a window tab and normal tab clear
- #644: Log to stderr. Fix some warnings with regards to druid's layouting.
- #643: Use file path comparison which normalises drive letters for code actions
- #616: Fix unicode crash in palette line-search
- #755: Make the enter key scroll the terminal down
- #774: Fixes panic on empty active tab
- Many other fixes
Other
v0.1.2
This release focus on the look of Lapce! We've added theme colours and some UI sizes or styles in the config. And you can export them as a theme file. And theme plugin is supported as well.
To learn more, here is the documentation for developing a theme plugin for Lapce: https://docs.lapce.dev/development/theme
v0.1.1
-
The window creation is switched from winit to druid, which fixed lots of keyboard bugs.
-
arrow keys in terminal should be working now.
v0.1.0
The biggest change in this release is that Lapce changes the GPU backend from Wgpu to OpenGL, for better compatibility, and in particular the dual-source blending feature which enabled us to do subpixel text rendering. Alongside that, we added text shaping support via Swash.
New features:
- WSL remote development support
- Hover support
- Lots of new syntax support via TreeSitter
- warn when trying to close an unsaved buffer
- the ability to create a scratch buffer
- File explorer highlights the file when you change editor focus
Bug fixes:
- File explorer will now update when file added/removed
- Palette input area can now do normal editing
- Fixed lots of little UI glitches
v0.0.12
Version 0.0.12
v0.0.11
- New feature Code Lens
- Multiple cursor
v0.0.10
- Fix the issue that change settings in the GUI don't take effect
- Add windows portable in the release
- Fix for tab indention rendering issue on Windows
- Fix line counter rendering offset issue