Git Product home page Git Product logo

doom-todo-ivy's Introduction

doom-todo-ivy

Display TODO, FIXME, or anything else in an ivy buffer. Extracted from doom-emacs.

Install

This package depends on:

  • ivy
  • projectile

Manual

(require 'doom-todo-ivy)

use-package

(use-package doom-todo-ivy
  :ensure t
  :hook (after-init . doom-todo-ivy))

You can run the command with M-: doom/ivy-tasks [RET]

Demo

todo

doom-todo-ivy's People

Contributors

jsmestad avatar lockie avatar phoenixanimations avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

doom-todo-ivy's Issues

max: Wrong type argument: number-or-marker-p, nil

hi,

i'm loading doom-todo-ivy with (require 'doom-todo-ivy). trying to run doom/ivy-tasks fails with this error:

Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
  +(nil 3)
  (max (+ max-desc-width 3) 25)
  (let* ((max-type-width (let* ((--cl-var-- doom/ivy-task-tags) (task nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq task (car --cl-var--)) (let* ((temp ...)) (setq --cl-var-- (if --cl-var-- ... temp))) (setq --cl-var-- (cdr --cl-var--))) --cl-var--)) (max-desc-width (let* ((--cl-var-- tasks) (task nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq task (car --cl-var--)) (let* ((temp ...)) (setq --cl-var-- (if --cl-var-- ... temp))) (setq --cl-var-- (cdr --cl-var--))) --cl-var--)) (max-width (max (+ max-desc-width 3) 25))) (let* ((fmt (format "%%-%ds %%-%ds%%s:%%s" max-type-width max-width)) (--cl-var-- tasks) (alist nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq alist (car --cl-var--)) (setq --cl-var-- (cons (let ((alist alist)) (let (... ... ... ...) (list ... \.type \.file \.line))) --cl-var--)) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--)))
  doom/ivy--tasks-candidates(nil)
  (ivy-read (format "Tasks (%s): " (if arg (concat "in: " (file-relative-name buffer-file-name)) "project")) (doom/ivy--tasks-candidates (doom/ivy--tasks (if arg buffer-file-name (projectile-project-root)))) :action #'doom/ivy--tasks-open-action :caller 'doom/ivy-tasks)
  doom/ivy-tasks()
  eval-region(21551 21567 t #f(compiled-function (ignore) #<bytecode 0x1fe848057d15>))  ; Reading at buffer position 21567
  elisp--eval-defun()
  eval-defun(nil)
  funcall-interactively(eval-defun nil)
  call-interactively(eval-defun nil nil)
  command-execute(eval-defun)

it was working in the past, so i imagine some package upgrade must have broken it. but i've reinstalled emacs from scratch and still get the same error. any idea what could cause this?

i'm using emacs 27.1 on macOS 10.14 with ivy 20211231.1730 and projectile 20220203.1326.

Symbol’s function definition is void: message!

Hey, downloaded the package and when trying to run doom/ivy-tasks I get Symbol’s function definition is void: message! when I take out:

(message! (red "Error matching task in file: (%s) %s"
                                      (error-message-string ex)
                                      (car (split-string x ":"))))

It works as expected.

I believe their might be another package being used, I tested this on emacs 26.1, doing emacs -Q, (package refresh) and copying and running doom-todo-ivy.el in scratch.

Width math

Hey. Thanks for nice nifty package!
I have a little problem with it. The width of the todo items text is way too big, so that I can't fully see the file names:
screenshot
I think the math in format width calculation might be a bit off. I've checked the value of max-width calculated here and got 198. By setq-ing it forcibly to lower value (150) I was able to actually see full file names.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.