Skip to content

bastiangx/wordserve-obsidian

Lightweight Autosuggestions and abbrevations for Obsidian!

Example usage of wordserve suggestions engine in a client app

MIT License

Report a Bug · Request a Feature

What's it about?

WordServe is a minimalistic and high performance Autocompletion plugin. It suggests top ranking words when typing and exapnsions on abbreviations! simple. You can insert them by pressing Tab or Enter (or pressing the digit keys for vim users ;) )

Why?

So many desktop tools and apps I use on daily basis do not offer any form of word completion, AI/NLP driven or otherwise, there are times when I need to quickly find a word or phrase that I know exists in my vocabulary, but I don't feel like typing for that long.

Similar to?

Think of this as a basic nvim-cmp or vscode Intellisense daemon. Suggestions menu appear when typing any words + Expansions on text via abbreviations, defined and customisable by you.

I quite frankly made this for myself so I can have a USABLE completion plugin for Obsidian but hey, you might find it handy too! its still missing some big features like having auto correction and spelling, might add them if people find this actually useful.


Features

Batched Word Suggestions

Easily find the relevant words and phrases as you type, suggestions are shown in a native menu


WordServe returns suggestions in rapid IPC MessagePacks. Read more about this on wordserv'e docs


Abbrevation expansions

Automatically expands abbreviations as you type, for example typing btw will expand to by the way


Easily add and manage your own abbreviations in the settings tab


Digit selection

Use digits on the keyboard to quickly insert a suggestion from the list!


Responsive

Cross-platform and quick to use, built on top of a Go binary. Read more about how all this works in our Go library's docs



Colorschemes


Adapts to your Obsidian's current theme! with lots of accessbility options too (font / colors / size)

Many many words


Start with a simple words.txt file containing 65,000+ entries.

WordServe chunks the dictionary into binary trie files and loads only what's needed, managing memory based on usage patterns.


Installation

Obsidian

Open the Community plugins tab, browse and search for WordServe

Building and development

git clone https://github.com/bastiangx/wordserve-obsidian.git
cd wordserve-obsidian
bun i
bun run dev

place cloned folder inside Obsidina's plugins directory, Obsidian should load it autmatically by clicking the community plugin's refersh button

~/username/Documents/Vault/.obsidian/plugins/

The initial build for dictionary files are handled by the wordserve binary itself, If you encounter any issues, refer to the Go library

Make sure the data/ directory exists and has the words.txt file in it.

Important

Core is powered by WordServe's own Go library! check it out if you want to see how the prefixes are actually processed

DISCLAIMERS

  1. Core components ARE DOWNLOADED FROM GITHUB via the release versions noted, if plugin version is for example v0.1.2, it will only download the v0.1.2 binaries from WordServe' repo -- (no mechanisms of auto updating)

    • These binaries include the wordserve Go executable, a words.txt file and the dictionary files needed for this to work.
    • all fetching impls are done in downloader.ts file
    • If you have any issues with the fetching, you can manually get them from the releases page
  2. WordServe does not track any usage data, analytics, telemetry or provide any internal methods of tracking activities to external connections.

    • The words.txt file is a simple text file containing a list of words, phrases and abbreviations.
    • precompiled dictionary files are generated from the words.txt file and are used to provide autosuggestions.

Contributing

See the open issues for a list of proposed features (and known issues).

Any PRs are welcome! Refer to the guidelines

License

WordServe is licensed under the MIT license. Feel free to edit and distribute as you like.

See LICENSE

Acknowledgements

  • The Beautiful Rosepine theme used for graphics and screenshots throughout the readme.
  • The Incredible mono font, Berkeley Mono by U.S. Graphics used in screenshots, graphics, gifs and more.

About

Fast & Minimal real-time word suggestions in Obsidian editor

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors