Skip to content

Latest commit

 

History

History
88 lines (60 loc) · 2.64 KB

README.md

File metadata and controls

88 lines (60 loc) · 2.64 KB

xit-mode

[x]it! is a plain-text file format for todos and check lists (see format reference here). This is an Emacs major mode that gives highlighting and interactivity for .xit files.

Screenshot

Installation

Melpa

xit-mode has a recipe in the melpa repository to ease its installation.

You can use the command M-x package-install and then select the xit-mode package to install it automatically.

use-package

You can also rely on the use-package configuration helper to ease the installation and configuration from your .emacs file.

Just add the following snippet to your config file:

(use-package xit-mode :ensure t)

Manual

Alternatively, you can still install the mode manually by following these steps:

1. Download the package

cd ~/.emacs.d/
git clone https://github.com/ryanolsonx/xit-mode

2. Load it in Emacs

In your .emacs or init.el:

(load "~/.emacs.d/xit-mode/xit-mode.el")
(require 'xit-mode)

Features

  • Syntax highlighting with customizable faces
  • Item state and priority management via keybindings
  • imenu support
  • Dates support

Key bindings

  • C-c C-n (M-x xit-new-item) : Create a new open item
  • C-c C-o (M-x xit-open-item) : Set an item as open ([ ])
  • C-c C-d (M-x xit-checked-item) : Set an item as checked ([x])
  • C-c C-p (M-x xit-ongoing-item) : Set an item as ongoing ([@])
  • C-c C-a (M-x xit-obsolete-item) : Set an item as obsolete ([!])
  • C-c C-C (M-x xit-state-cycle-item ) : Cycle through the different states (open -> ongoing -> checked -> obsolete)
  • C-c C-<up> (M-x xit-inc-priority-item) : Increase the priority by adding a !
  • C-c C-<down> (M-x xit-dec-priority-item) : Decrease the priority by removing a ! or a .
  • C-c C-w (M-x xit-insert-date) : Insert a formatted date

Customizable variables

Faces

Here is the list of the faces used in the xit-faces group:

  • xit-open-checkbox-face
  • xit-open-description-face
  • xit-checked-checkbox-face
  • xit-checked-description-face
  • xit-ongoing-checkbox-face
  • xit-ongoing-description-face
  • xit-obsolete-checkbox-face
  • xit-obsolete-description-face
  • xit-priority-face
  • xit-tag-face
  • xit-tag-value-face
  • xit-date-face

Imenu

Imenu can be customized via the variable xit-imenu-function. Its possible values are:

  • 'xit-imenu-groups to list only groups
  • 'xit-imenu-groups-and-items to list groups and items