Giter Site home page Giter Site logo

tablist's People

Contributors

jaor avatar monnier avatar purcell avatar silex avatar syohex avatar tarsius 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  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  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

tablist's Issues

I created a tutorial for `tablist-minor-mode` and in the process discovered couple of issues

Link to tutorial on tablist-minor-mode

I created a tutorial for tablist-minor-mode. See How I shortlist add-ons for my Emacs: Introducing tablist – Emacs Notes.

Problems I discovered

Problem 1

See the above article (and the gif within it) for the sequence of operations that would trigger the error below.

Error in post-comand-hook (package-menu--post-refresh): (void-function nil)

tablist-minor-mode-1133-0

Problem 2

Export to CSV doesn't create a comma-separated list. It creates a semicolon-separated list instead.

`tablist-edit-filter` error on Emacs 27.0.90

Using tablist on Emacs 27.0.90 on a Macintosh, I'm finding if I try to edit a filter in a tablist (/ e) an error occurs:

replace-regexp-in-string: Wrong type argument: arrayp, nil

and I've traced the source of that error to tablist-filter-parser-init which calls, effectively

(wisent-compile-grammar tablist-filter-wisent-grammar)

If you open Emacs 27.0.90 and evaluate the following in *scratch* you should be able to reproduce the error:

(require 'semantic/wisent/comp)
(require 'semantic/wisent/wisent)

(defvar tablist-filter-wisent-grammar
  '(
    ;; terminals
    ;; Use lowercase for better looking error messages.
    (operand unary-operator binary-operator or and not)

    ;; terminal associativity & precedence
    ((left binary-operator)
     (left unary-operator)
     (left or)
     (left and)
     (left not))

    ;; rules
    (filter-or-empty
     ((nil))
     ((?\( ?\)) nil)
     ((filter) $1))
    (filter
     ((operand) $1) ;;Named filter
     ((operand binary-operator operand) `(,(intern $2) ,$1 ,$3))
     ((unary-operator operand) `(,(intern $1) ,$2))
     ((not filter) `(not ,$2))
     ((filter and filter) `(and ,$1 ,$3))
     ((filter or filter) `(or ,$1 ,$3))
     ((?\( filter ?\)) $2))))

(wisent-compile-grammar tablist-filter-wisent-grammar)

pdf-links-action-perform labels and background misaligned

On my system (i.e. Fedora 32) on after a fresh install of pdf-tools, the foreground and background of the labels when using pdf-links-action-perform are misaligned (at least I suppose it is not meant this way), see example in image below.

image

Stable release?

If this repository is or has been in a stable state, it'd be great to get a tagged release for MELPA Stable and Homebrew! 😻

Only one filter per mode is stored in tablist-named-filter

Sorry if I do it the wrong way, but documentation isn't clear here.

What I'm trying to do is to add multiple filters interactively

  1. interactively tablist-edit-filter, put something like name == tmp there
  2. name it qaz with tablist-name-current-filter
    as a result,
    tablist-named-filter is ((navigel-tablist-mode ("qaz" == "name" "tmp")))

so everything looks fine, and (tablist-filter-names) returns ("qaz")

now I'm trying to add another filter

  1. interactively tablist-edit-filter, put something like name == opt there
  2. name it wsx with tablist-name-current-filter

expected result:

(tablist-filter-names) returns ("qaz wsx")

actual result
(tablist-filter-names) returns ("wsx")

non-interactive tablist-put-named-filter works the same way - it stores the last filter only

I use tablist-20200427.2205 from MELPA.

Make tablist-mode-map dynamically inherit from tablist-minor-mode-map

The package has code like this:

(defvar tablist-mode-map
  (let ((kmap (copy-keymap tablist-minor-mode-map)))
    (set-keymap-parent kmap tabulated-list-mode-map)

As far as I understand, this means that if the user adds his bindings to tablist-minor-mode-map, they won't be added to tablist-mode-map. If you consider that a problem, you could rewrite your code that way (untested):

(defvar tablist-mode-map
  (let ((kmap (make-sparse-keymap)))
    (set-keymap-parent kmap (make-composed-keymap tablist-minor-mode-map tabulated-list-mode-map))

I'm not an expert so please double-check :-).

Thank you

Thank you very much. The tablist package is really great. I made it the cornerstone of navigel.

Mark all on `% m RET`

In other parts of Emacs, Dired for example, I can type % m RET to mark all files.

However, when I try to do the same on a package using tablist, for example Silex/docker.el: entering M-x docker-containers RET % m RET results in an error message: No regexp given.

Please consider altering the behavior to make the user experience consistent to that of default Emacs and select all entries when no regexp is given.

Unescaped character literals `?(', `?)'

Hi,

with latest tablist from MELPA (installed as a dependency of pdf-tools), I get this message in *Messages*:

Loading ‘tablist-filter’: unescaped character literals `?(', `?)' detected!

I don't see a backtrace if I enable debug-on-error, so I can't give you more details on that message.

This is some info about my environment, in case you need it:

GNU Emacs 27.0.50 (build 17, x86_64-debian-linux-gnu, GTK+ Version 3.22.30)
 of 2019-01-29

Repository revision: 137b65a9b0a4118adda50f34375b4960701542e9
Configured using:
--host=x86_64-debian-linux-gnu --with-modules

Emacs uptime: 3 minutes, 42 seconds
Default font: Source Code Pro
Colour theme: sanityinc-tomorrow-night
Operating system: Ubuntu 18.04.1 LTS
Window system: x11
Desktop environment: GNOME Shell 3.28.3

creating filter not working

Everytime i try to create a filter with.... Edit Filter (press / e)... in the Emacs Packages buffer i get this in the messages....

tablist-filter-eval: Invalid function: (feval (filter) (pcase filter ((` (not , (and operand (guard (not (cdr operand)))))) (not (feval (car operand)))) ((` (and , (and operands (guard (= 2 (length operands)))))) (and (feval (nth 0 operands)) (feval (nth 1 operands)))) ((` (or , (and operands (guard (= 2 (length operands)))))) (or (feval (nth 0 operands)) (feval (nth 1 operands)))) ((` ((, op) , (and operands (guard (= (length operands) 1))))) (let ((fn (assq op tablist-filter-unary-operator))) (unless fn (error "Undefined unary operator: %s" op)) (funcall fn id entry (car operands)))) ((` ((, op) , (and operands (guard (= (length operands) 2))))) (let ((fn (cdr (assq op tablist-filter-binary-operator)))) (unless fn (error "Undefined binary operator: %s" op)) (funcall fn id entry (car operands) (cadr operands)))) ((guard (stringp filter)) (let ((fn (cdr (assoc filter named-alist)))) (unless fn (error "Undefined named filter: %s" filter)) (if (functionp fn) (funcall fn id entry)) (feval (if (stringp fn) (tablist-filter-unparse fn) fn)))) ((` nil) t) (_ (error "Invalid filter: %s" filter))))

I reinvented this package :-(

Hello,

I just found out about this package today.

I wrote https://github.com/Silex/tabulated-list-extensions and today I realised I essentially reinvented this package.

The only thing maybe worth adding to your package is the tle-auto-resize-column functions.

So, would you be ok with me making a PR to this package with the thing I thing would be worth it?

Basically, the first thing I'd do is massively improve your README

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.