Ctrl-XA cycle various items

approved

by nbossard

Cycle through various items with keyboard shortcuts. Such as days, months, true-false, log level,... anything you need.

5 stars1,513 downloadsUpdated 2y agoApache-2.0
View on GitHub

Ctrl XA Plugin

GitHub release (latest by date) GitHub Release Date GitHub issues

Obsidian Downloads GitHub

Inspired by vim plugin : https://github.com/Konfekt/vim-CtrlXA

This Obsidian plug-in allows easy cycle through lists of keywords such as for example:

  • Monday/Tuesday/Wednesday/...
  • true/false
  • yes/no
  • set/unset
  • yesterday/today/tomorrow
  • roman numerals I, II, III...

It also automatically increases/decreases numbers and dates.

Usage

Install and enable this plugin.

Go to settings of plugin, fill the lists you need.

Go to settings/hotkeys, define hotkeys for commands "Ctrl-XA cycle various items: Cycle up" and "Ctrl-XA cycle various items: Cycle Down", could be Ctrl-X and Ctrl-A (like in Vim), or any key you want...

You are ready to use it:

  • please input a sentence like "Will do it on Monday"
  • place your cursor on "Monday"
  • press hotkey you defined for cycle up.
  • sentence is now "Will do it on Tuesday"

What's new

Refer to changelog

Various

Note: this plugin has been started using https://github.com/obsidianmd/obsidian-sample-plugin

Manual installation

This is to get latest version in development.

Go to the folder containing your vault, then in subfolder ".obsidian/plugins". Git clone there the repo : https://github.com/nbossard/obsidian-CtrlXA. Restart Obsidian.

Releasing process

Development environment

tools

  • don't forget to npm install
  • open another terminal running npm run dev
  • developped using neovim
  • Plugin obsidian "Hot Reload" also helped a lot https://github.com/pjeby/hot-reload

Code principles

  • "happy path is left aligned"
  • test as much as possible, using jest.

branches

Apparently Obsidian is checking content of manifest.json on "main" branch to detect for new versions. So "main" branch will now contain only releases and work will be done in "develop" branch.

github actions

This project uses "github actions" to generate (draft) releases out of tags. This is configured in file release.yml Refer to documentation: https://docs.github.com/en/actions

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.