Skip to content

Releases: AnkurAlpha/fimloom.nvim

v0.2.1

Choose a tag to compare

@AnkurAlpha AnkurAlpha released this 05 Sep 16:44

Fix server lifecycle handling while inference providers are loading. FIMLoom now reuses responding endpoints, including llama.cpp HTTP 503 responses, without launching duplicate servers.

FIMLoom.nvim v0.2.0

Choose a tag to compare

@AnkurAlpha AnkurAlpha released this 01 Aug 11:56

Added

  • Matching-prefix consumption for visible inline suggestions, including
    character-by-character typing, multi-character insertion, newlines, and
    indentation, with strict editor-state validation and no duplicate acceptance.
  • completion.preserve_matching_prefix, enabled by default.
  • Configurable FIMLoomSuggestion colors through ui.suggestion, optional
    highlight linking through ui.suggestion_hl, and colorscheme-safe restoration.

Fixed

  • Restore configured suggestion highlight links after a colorscheme explicitly
    clears FIMLoomSuggestion, while continuing to preserve user and colorscheme
    definitions.
  • Remove trailing whitespace-only output lines before both rendering and
    acceptance through the default-enabled completion.trim_trailing_blank_lines.
  • Preserve internal blank lines and indentation while sanitizing multiline
    completions.
  • Avoid replacement inference while a matching suggestion prefix is being
    consumed; restart normal debounced inference after divergence.

FIMLoom.nvim v0.1.1

Choose a tag to compare

@AnkurAlpha AnkurAlpha released this 19 Jul 18:40

Highlights

  • Fixed <Tab> acceptance by scheduling ghost-text insertion outside Neovim’s expression-mapping text lock.
  • Added Codeium-style accept-key precedence with literal Tab fallback when no suggestion is visible.
  • Preserved conflict protection for dismiss and manual-completion mappings.
  • Documented sharing a detached llama.cpp server across multiple Neovim sessions.
  • Documented --sleep-idle-seconds for unloading inactive model weights.

Verification

  • 80 automated tests passing.
  • Native Neovim help validated.
  • Tab acceptance tested in a real Neovim configuration with Mellum 4B and llama.cpp.

Full changelog: v0.1.0...v0.1.1

FIMLoom.nvim v0.1.0

Choose a tag to compare

@AnkurAlpha AnkurAlpha released this 19 Jul 08:17

FIMLoom.nvim v0.1.0 is the first public release of local-first inline code completion for Neovim.

Highlights

  • Copilot-style single-line and multiline ghost-text suggestions.
  • Native fill-in-the-middle support for Ollama and llama.cpp.
  • Configurable local endpoints, ports, models, generation settings, and context limits.
  • Debounced asynchronous requests with cancellation and stale-response rejection.
  • Optional managed inference-server startup and ownership-aware shutdown.
  • :FIMLoom controls and :checkhealth fimloom diagnostics.
  • Bounded, redacted diagnostics with optional JSONL persistence.
  • Tested end-to-end with JetBrains Mellum 4B through both managed providers.
  • Documented lazy.nvim, Ollama, and llama.cpp setup workflows.
  • 79 automated tests across Neovim 0.10.4 and stable CI targets.

Requirements

  • Neovim 0.10 or newer
  • curl
  • Ollama or llama-server
  • A genuine fill-in-the-middle-capable code model

See the README for installation and tested Mellum setup instructions.

Important model guidance

A suffix-aware prompt template does not make a general chat model FIM-capable. Use model weights whose documentation explicitly reports fill-in-the-middle training or evaluation.

Known limitations

This release does not include streaming, chat or agent modes, cross-file context, multiple suggestions, Windows lifecycle guarantees, or shared ownership across multiple Neovim instances.

Full details are available in the changelog.