Skip to content

Releases: rhysd/vim.wasm

v0.0.13

30 Dec 10:11
Compare
Choose a tag to compare
  • Improve: Upstream Vim version was updated to v8.2.55
  • Improve: Wasm binary is built with the latest emscripten v1.39.5
  • Improve: Update npm dependencies

v0.0.12

14 Aug 10:10
Compare
Choose a tag to compare
  • Improve: Upstream Vim version is updated to 8.1.1845
  • Improve: Binary in package is now built using the latest Emscripten with LLVM backend. Binary size should be smaller
  • Fix: Events from main to worker are properly queued and handled in order
  • Fix: Exception message was not properly sent from worker to main when fatal error happened

0.0.11

01 Aug 02:29
Compare
Choose a tag to compare
  • New: fetchFiles option was added. It can define mapping from Vim's filesystem to external resources (file path or URL). Vim fetches the resources just before starting Vim and maps them to its filesystem entries
  • New: Small CLI tool vimwasm-try-plugin was implemented in another repository to try external plugins and colorschemes without installing them
  • New: Add jsevalfunc() Vim script function to evaluate JavaScript code in Vim script. The function makes it easier to integrate browser API into Vim plugin
  • Fix: Canvas width and height are slightly not fit to its element size when the element has border
  • Improve: has('gui_wasm') returns 1 in Vim script
  • Improve: Use Function to evaluate JavaScript code
  • New: Visual testing for screen rendering was introduced as smoke testing

0.0.10

18 Jul 15:19
Compare
Choose a tag to compare
  • Improve: Include 'small' feature binary in addition to 'normal' feature. 'small' feature build only provides basic features but binary size is much smaller
  • Breaking Change: VIM_FEATURE constant was removed because the npm package now provides multiple features
  • Breaking Change: workerScriptPath option of constructor of VimWasm is now not optional because almost all case default value is not available.

0.0.9

17 Jul 07:15
Compare
Choose a tag to compare
  • Improve: Normal feature set was supported
    • Almost all features are now supported
      • Syntax highlighting
      • Text object
      • Vim script
      • incremental search with highlight
      • quickfix
      • completion in insert mode and cmdline mode
      • local mappings
      • diff support
      • folding
      • spell check
      • smart indentation
      • digraphs
      • line break
      • tag jump
      • cursor shape support
      • persistent undo
    • Features which require shell commands are disabled (terminal, job, system())
    • Binary size is bigger (total 2MB)
  • Breaking Change: Colorscheme was changed from desert to onedark. monokai was also added
  • Improve: Almost all language supports are enabled
    • They include support for syntax highlighting, auto indentation and completion
    • This much increases size of vim.data
  • New: Added title change event. Now JavaScript can handle window title
  • New: :! can evaluate JavaScript file like :!/path/to/file.js. JavaScript file is evaluated in main thread. When it caused an error, the error message is output in Vim message area
  • New: Added VimWasm.showError method to output error message in Vim from JavaScript side
  • Fix: Position of underlines on text rendering
  • Improve: Merge upstream Vim 1.6.1661
  • New: Added VIM_VERSION and VIM_FEATURE constants are added to ES Module to get Vim version and feature set name

0.0.8

11 Jul 02:35
Compare
Choose a tag to compare
  • Improve: Upgrade features set from 'Tiny' to 'Small'
    • This requires slightly bigger memory usage (+10~15%)
    • Binary size almost does not change (about +1.5%)
  • Improve: Vim is updated to 8.1.1658

0.0.7

09 Jul 03:32
Compare
Choose a tag to compare
  • Improve: Follow the latest upstream 8.1.1640
  • New: Add cmdArgs option to VimWasm.start() method call. It defines a command line arguments for running vim command. Please read documentation for more details
  • Improve: https://rhysd.github.io/vim.wasm learns arg= query parameter to pass command line arguments to underlying vim command execution
  • Improve: Running unit tests is made 3x faster

0.0.6

06 Jul 12:06
Compare
Choose a tag to compare

0.0.5

06 Jul 04:46
Compare
Choose a tag to compare
  • New: FileSystem support via options at VimWasm.start(). Now vimrc of https://rhysd.github.io/vim.wasm is persistent
    • files: Create files before Vim starts
    • dirs: Create directories before Vim starts
    • persistentDirs: Mark directories persistent. They are stored on Indexed DB as persistent storage
  • New: Add checkBrowserCompatibility() to check vim.wasm is available
  • Improve: Optimize for rendering whitespaces. 3.2x speed up
  • Improve: Timing of onVimExit callback is tweaked. It is now called after Vim completely exited
  • Fix: :export error handling. Now error message is correct
  • Fix: Handling \ key event bug on Chromium

0.0.4

02 Jul 06:32
Compare
Choose a tag to compare
  • Improve: Support changing font size dynamically by guifont option (e.g. set guifont=Monaco:h12 sets Monaco font with 12px height)
  • Fix: Fixed type definitions were not correct put in npm package