Skip to content

Releases: lapce/lapce

v0.2.2

04 Nov 23:23
Compare
Choose a tag to compare

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 use color-themes and icon-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

12 Oct 19:46
Compare
Choose a tag to compare

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
    • image
    • 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)
    • image
  • #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, and Ctrl-Ins
  • #1401: Merge semantic and tree-sitter syntax highlighting
  • 1426: Add cursor position/current selection in status bar
    • image
  • #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

  • #1191: Tone down default inlay hint background color in Lapce dark theme
  • #1227: Don't restore cursor mode on undo
  • #1413: Disable format-on-save by default. Remember to re-enable this if you want it!
  • #1404: Log panics with full backtrace as errors

v0.2.0

02 Sep 22:24
Compare
Choose a tag to compare

Features/Changes

  • #776: Implemented error lens.
    image
  • #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. image
  • #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. image
  • #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

14 Jul 20:45
Compare
Choose a tag to compare

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
      • example moved panels
    • 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
    • workspace symbol search
  • #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)
    • image
  • #715: Inlay Hint support
  • Git:
    • #691: Commit button added to git panel
    • #708: Workbench Command to discard changes on the current file/workspace, reverting back to the latest git versions
    • #654: Workbench Command that initializes a git repository in the current folder
    • #637: Workbench Command to checkout a branch
  • 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
    • image
  • #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

  • #667: Add installation information for various packaging systems for various platforms
  • #645: Cache various steps of the CI workflow to improve the speed
  • #615: Fix clippy warnings; Add clippy to CI; fix a small bug

v0.1.2

11 Jun 11:55
Compare
Choose a tag to compare

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

19 May 13:28
Compare
Choose a tag to compare
  • 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

12 May 17:26
Compare
Choose a tag to compare

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

24 Mar 18:12
Compare
Choose a tag to compare
Version 0.0.12

v0.0.11

17 Mar 10:59
Compare
Choose a tag to compare

v0.0.10

04 Mar 13:39
Compare
Choose a tag to compare
  • 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