Skip to content

tkf/factlog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.