factlog

factlog - File ACTivity LOGger


Keywords
history, recently, used, files
License
LGPL-3.0
Install
pip install factlog==0.0.1

Documentation

factlog - File ACTivity LOGger

Links:

Factlog logs your activity on files and uses it for searching.

Rich command line interface. Useful for unix style searching:

factlog list | xargs grep 'def record'

"I want to see some Python files I edited recently":

factlog list --include-glob '*.py'

"I want to list files in this particular project I touched. I don't care about in which branch I opened the file.":

factlog list --under BRANCH-A --under BRANCH-B --relative

"I want to see last 50 notes I took with title":

factlog list --under MY-NOTE-DIRECTORY --relative --title --limit 50

"The files I touched are huge. I want to search only the locations I touched.":

factlog list -C 50 | grep 'def record'

Editor plugin

Factlog currently only have Emacs integration. If you make a plugin for other editors, please let me know. See interfaces for plugin for more information.

Emacs

Factlog has Emacs plugin. You can get factlog.el from factlog repository.

Command line programs

Factlog is easy to integrate with command line programs such as less and vim. See shell/config.sh for sample setup. You can use shell/config.sh like this:

source PATH/TO/factlog/shell/config.sh
alias less="factlog-record-wrapper \\less"
alias vim="factlog-record-wrapper \\vim"

Interfaces for plugin

Command line interface

If your editor can run a command line program, it is possible to write a factlog plugin! See factlog record --help.

RPC interface

Work in progress...

Python interface

Work in progress...

More to come / ideas

  • Ranking based on many data points: how many times you write to the file, how recent you visited the file, etc.
  • Understand "project" (VCS repository).
  • Concurrent grep.
  • Extract URLs in the documents and use them as URL bookmark.

License

Factlog is licensed under LGPL v3. See COPYING for details.