Git Product home page Git Product logo

helm's People

Contributors

akreisher avatar alphapapa avatar ambrevar avatar cofi avatar cybershadow avatar haxney avatar hmelman avatar issue-dispenser avatar jagrg avatar karbiv avatar kkatsuyuki avatar lewang avatar manuel-uberti avatar mattfidler avatar michael-heerdegen avatar momomo5717 avatar monnier avatar peterbecich avatar renatofdds avatar rnchzn avatar rubikitch avatar syohex avatar taquangtrung avatar tarsius avatar thierryvolpiatto avatar tsdh avatar tuhdo avatar xiongtx avatar xuchunyang avatar yasuyk 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

helm's Issues

face helm-header appears not to be used

The face helm-header does not appear to be used. I first thought I could not change it's appearance due to a bug in emacs24's color theme support but when I eventually used emacs --quick and did not load anything theme related I could still not change it's appearance. I even tried changing the definition of helm-header - it still looked exactly like header-line instead.

Extending Helm

We need a short up-to-date wiki article of plugin authoring. Maybe @thierryvolpiatto can recommend some best practices and give some examples?

Creating new file with name similar to directory

In helm-find-files, when the only match is a directory it enters the directory. While this is normally helpful, sometimes it isn't. If I have an .emacs.d directory but no .emacs I can't create a .emacs file, because it enters the .emacs.d directory automatically. This also gave me fits when I wanted to create a xorg.conf where a xorg.conf.d directory already existed.

Package helm on marmalade

We should package helm for installation via the marmalade Emacs Lisp repository. I'm not sure what would be the best approach - should we release a singe package there or several smaller packages depending on each other?
Either way the package headers should be cleaned up to match package.el's requirements. I feel the the headers should be minimalistic and the stuff autogenerated by autodoc should be removed. Maybe autodoc should be used to generate a section of the wiki instead?

error of (wrong-type-argument symbolp "elisp")

I upgrade to the latest helm, but I got a error : (wrong-type-argument symbolp "elisp")

Here is the backtrace:

Debugger entered--Lisp error: (wrong-type-argument symbolp "elisp")
helm-c-define-info-index-sources(("elisp" "cl" "org" "gnus" "tramp" "ratpoison" "zsh" "bash" "coreutils" "fileutils" "find" "sh-utils" "textutils" "libc" "make" "automake" "autoconf" "emacs-lisp-intro" "emacs" "elib" "eieio" "gauche-refe" "guile" "guile-tut" "goops" "screen" "latex" "gawk" "sed" "m4" "wget" "binutils" "as" "bfd" "gprof" "ld" "diff" "flex" "grep" "gzip" "libtool" "texinfo" "info" "gdb" "stabs" "cvsbook" "cvs" "bison" "id-utils" "global") t)
helm-info-index-set(helm-c-default-info-index-list ("elisp" "cl" "org" "gnus" "tramp" "ratpoison" "zsh" "bash" "coreutils" "fileutils" "find" "sh-utils" "textutils" "libc" "make" "automake" "autoconf" "emacs-lisp-intro" "emacs" "elib" "eieio" "gauche-refe" "guile" "guile-tut" "goops" "screen" "latex" "gawk" "sed" "m4" "wget" "binutils" "as" "bfd" "gprof" "ld" "diff" "flex" "grep" "gzip" "libtool" "texinfo" "info" "gdb" "stabs" "cvsbook" "cvs" "bison" "id-utils" "global"))
custom-initialize-reset(helm-c-default-info-index-list (quote ("elisp" "cl" "org" "gnus" "tramp" "ratpoison" "zsh" "bash" "coreutils" "fileutils" "find" "sh-utils" "textutils" "libc" "make" "automake" "autoconf" "emacs-lisp-intro" "emacs" "elib" "eieio" "gauche-refe" "guile" "guile-tut" "goops" "screen" "latex" "gawk" "sed" "m4" "wget" "binutils" "as" "bfd" "gprof" "ld" "diff" "flex" "grep" "gzip" "libtool" "texinfo" "info" "gdb" "stabs" "cvsbook" "cvs" "bison" "id-utils" "global")))
custom-declare-variable(helm-c-default-info-index-list (quote ("elisp" "cl" "org" "gnus" "tramp" "ratpoison" "zsh" "bash" "coreutils" "fileutils" "find" "sh-utils" "textutils" "libc" "make" "automake" "autoconf" "emacs-lisp-intro" "emacs" "elib" "eieio" "gauche-refe" "guile" "guile-tut" "goops" "screen" "latex" "gawk" "sed" "m4" "wget" "binutils" "as" "bfd" "gprof" "ld" "diff" "flex" "grep" "gzip" "libtool" "texinfo" "info" "gdb" "stabs" "cvsbook" "cvs" "bison" "id-utils" "global")) ("/home/leon/.emacs.d/elpa/helm-20120531/helm-info.elc" . 2229) :group helm-info :type (repeat (choice string)) :set helm-info-index-set)
require(helm-info)
byte-code("\300\301!\210\300\302!\210\300\303!\210\300\304!\210\305\306\307\310\311\301%\210\312\313\314\315\311\306%\210\312\316\317\320\311\306%\210\312\321\322\320\311\306%\210\312\323\324\325\311\306%\210\312\326\327\330\311\306%\210\312\331\332\333\311\306%\210\312\334\335\333\311\306%\207" [require helm helm-utils helm-info helm-adaptative custom-declare-group helm-bookmark nil "Predefined configurations for `helm.el'." :group custom-declare-face helm-bookmarks-su ((t (:foreground "red"))) "Face for su/sudo bookmarks." helm-bookmark-info ((t (:foreground "green"))) "_Face used for W3m Emacs bookmarks (not w3m bookmarks)." helm-bookmark-w3m ((t (:foreground "yellow"))) helm-bookmark-gnus ((t (:foreground "magenta"))) "_Face used for Gnus bookmarks." helm-bookmark-man ((t (:foreground "Orange4"))) "_Face used for Woman/man bookmarks." helm-bookmark-file ((t (:foreground "Deepskyblue2"))) "_Face used for file bookmarks." helm-bookmark-directory ((t (:inherit helm-ff-directory)))] 6)
require(helm-bookmark)
byte-code("\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\210\300\310!\210\300\311!\210\300\312!\210\300\313!\210\300\314!\210\300\315!\210\300\316!\210\300\317!\210\300\320!\210\321\322\323\324\325\302%\210\326\327\330\331\325\322\332\333&�\210\326\334\335\336\332\337\325\322&�\210\326\340\341\342\332\343\325\322&�\210\326\344\345\346\325\322\332\347&�\210\326\350\351\352\325\322\332\353&�\210\326\354\345\355\325\322\332\347&�\210\326\356\357\360\325\322\332\343&�\210\326\361\345\362\325\322\332\347&�\210\326\363\345\364\325\322\332\347&�\210\326\365\366\367\325\322\332\353&�\210\326\370\371\372\325\322\332\353&�\210\326\373\345\374\332\347\325\322&�\210\326\375\376\377\332\347\325\322&�\210\326\201@

`helm-help` should be required in most files

The variables defined in helm-help are required by sources defined in most (all?) files that define sources. However helm-files is the only one that actually requires it. As a result most (all?) sources not defined in helm-files will fail until one from helm-files is called.

Please require it everywhere or even better (in my opinion) just define the variables where they are used (e.g. helm-*-mode-line-string, but there might be others).

Mention the author of anything.el ?

Unless he explicitly asked not to be listed, I would think it appropriate to attribute Tamas Patrovics in your readme file as the original author of anything.el.

Remove leftover buffers

When using an helm command such as helm-mini the buffer is not killed after either performing an action or cancelling.

I understand this is part of a mechanism to reuse helm buffers, but they do accumulate if you use a lot of different helm commands, and I think it'd be nice to be able to customize, i.e. disable, this beahviour.

Add `helm-c-source-bookmark-set` to `helm-bookmarks`

Currently, helm-c-source-bookmark-set is not used by default. helm-bookmarks would benefit from being able to set bookmarks as well as jump to them. It's a matter of changing

(defun helm-bookmarks ()
  "Preconfigured `helm' for bookmarks."
  (interactive)
  (helm-other-buffer 'helm-c-source-bookmarks "*helm bookmarks*"))

to this:

(defun helm-bookmarks ()
  "Preconfigured `helm' for bookmarks."
  (interactive)
  (helm-other-buffer (helm-c-source-bookmarks helm-c-source-bookmark-set) "*helm bookmarks*"))

I can't use C-h as delete a char backward.

Awesome Helm Team;

I have binding C-h as delete a char backward.
When I use helm-find-files, for example, I can't use C-h anymore. That's because C-h has been bound to help command in Helm. Maybe we can use (define-key 'help-command "S" 'something) to binding those help command.

helm-pkg.el is invalid according to spec

From (info "(elisp) Packaging"):

One of the files in the content directory must be named
NAME-pkg.el. It must contain a single Lisp form, consisting of a
call to the function define-package, described below. This defines
the package's version, brief description, and requirements.

Concretely, the additional eval-when-compile form confuses Melpa's packaging mechanism, and ideally should not be required in the first place.

Might you consider instead appending something like the following to that file instead:

;; Local Variables:
;; no-byte-compile: t
;; End:

Pointers

Could you please point to the new mailing list from the repository's webpage. (Hover the package description and click the "edit" button that appears). Edit: and/or put the link on the project page.

You might also want to make your membership in the "emacs-helm" organisation "public". It feels a bit strange to see some contributors but not the maintainer in that list :-)

install project oriented file selector sub-project

I've started one here:

https://github.com/lewang/helm-cmd-t/blob/master/helm-cmd-t.el

maybe I can move this under the helm umbrella? Only git and .dir-locals project types are currently supported because i don't use anything else.

Features:

  • cached list for quicker reference in large projects
  • not dependent on magit (I found magit was slow to get list of files from git)
  • framework is there to support other types of projects.

Anyway either this or something else should be folded into helm because this is a big gap currently missing in Emacs.

`pcomplete-suffix-list' is an obsolete variable (as of 24.1)

What is this supposed to do in helm-esh-get-candidates?

(let* (...
        (pcomplete-autolist pcomplete-autolist)
        (pcomplete-suffix-list pcomplete-suffix-list))

I don't see these variables being modified so why the dynamic binding?
Also this causes one of the very few compile warnings.

helm-M-x history

Helm M-x has a history feature but it's not very useful. It saves what you actually typed and not the command that was invoked, and tries to execute that previous search as a command which usually fails.

Buggy recentf items show in helm-buffers-list

I update to latest helm from MELPA, I found it introduce a new bug for helm-buffer-list. Here is the step to reproduce this bug:

  1. rm recentf # this ensure a clean environment
  2. start emacs and open a file, assume it is my-sample.el
  3. close that file
  4. M-x helm-buffers-list

Now, you will get a "my-sample.el" in the buffers list, which it is already killed.

Any idea about this bug?

faces

Could the faces inherit from generic ones?
Else, the colors chosen are unreadable with dark themes.

Byte compiling reveals obsolete variables

helm-config.el:692:01:Warning: cl package required at runtime
helm-config.el:1532:20:Warning: minibuffer-local-must-match-filename-map' is an obsolete variable (as of 23.1); use minibuffer-local-filename-must-match-map' instead.
helm-config.el:1533:20:Warning: `minibuffer-local-filename-must-match-map' is
an obsolete variable (as of 24.1).

In helm-esh-get-candidates:
helm-config.el:10082:13:Warning: pcomplete-suffix-list' is an obsolete variable (as of 24.1). helm-config.el:10082:35:Warning:pcomplete-suffix-list' is an obsolete
variable (as of 24.1).

helm-config does not load helm-buffers or helm-files

[New git install of helm]

emacs -Q

Do:

(add-to-list 'load-path "/home/nedludd/.emacs.d/vendor/helm")
(require 'helm-config)

Type:

M-x helm-mini

See "symbol's value as variable is void: helm-c-source-buffers-list"

Load helm-buffers

Now see "Symbol's value as variable is void: helm-c-source-recentf"

Load helm-files. Everything works.

Seems like the autoload is broken somehow.

Remove PDF from repository to shrink size

Right now, the 1.4.2 tarball weights in at 3.3 MB. Most of this is taken up by doc/helm.pdf, which weighs in at 3.2 MB; without it the package comes to 188K. Now, bandwidth is cheap and all, but there's no reason to ship a binary which could be generated by the user if needed.

grep fails silently

On Mac OS X, the default grep doesn't support --exclude-dir. But the failure was silent and it took me a while to track it down. An error message should be generated some how.

helm-show-kill-ring fails in minibuffer

yank-pop works fine -- how can I get helm-show-kill-ring to work?

This is the error message:

Debugger entered--Lisp error: (error "Command attempted to use minibuffer while in minibuffer")
  read-from-minibuffer("M-x " nil (keymap (keymap (C-M-left . paren-backward-sexp) (C-M-right . paren-forward-sexp) ...

make resumable a parameter to helm

I just stumbled upon helm-resume. Very cool.

Is it possible to make commands generically resumable by passing ":resumable t" or something like that? i.e. when C-u prefix is used, resume last invocation of this command.

Change user-option defvars into defcustoms

There are a number of defvar forms which start with "*...", which was the old, pre-defcustom way of declaring that variables be user-editable. That behavior is obsolete, and should be replaced by defcustom forms.

A quick look at things shows the following variables use this old format:

/helm-apt.el:35:helm-apt-installed
/helm-apt.el:40:helm-apt-deinstalled
/helm-bookmark.el:36:helm-bookmark-info
/helm-bookmark.el:41:helm-bookmark-w3m
/helm-bookmark.el:46:helm-bookmark-gnus
/helm-bookmark.el:51:helm-bookmark-man
/helm-bookmark.el:56:helm-bookmark-file
/helm-bookmark.el:61:helm-bookmark-directory
/helm-buffers.el:62:helm-buffer-saved-out
/helm-buffers.el:67:helm-buffer-not-saved
/helm-command.el:39:helm-M-x-key
/helm-elisp.el:60:helm-lisp-show-completion
/helm-elisp.el:65:helm-lisp-completion-info
/helm-emms.el:38:helm-emms-playlist
/helm-files.el:131:helm-ff-exif-data-program-args
/helm-files.el:202:helm-ff-prefix
/helm-files.el:207:helm-ff-executable
/helm-files.el:212:helm-ff-directory
/helm-files.el:217:helm-ff-symlink
/helm-files.el:222:helm-ff-invalid-symlink
/helm-files.el:227:helm-ff-file
/helm-files.el:312:helm-c-find-files-doc-header
/helm-net.el:256:helm-browse-url-default-browser-alist
/helm.el:154:helm-display-source-at-screen-top
/helm.el:158:helm-candidate-number-limit
/helm.el:167:helm-idle-delay

I may have missed some; there's a lot to helm! :)

helm-find-files not as good as ido-find-file

Since you guys are on a roll I might as well point out the obvious here, and see if we can come up with a better UX for this essential use case.

  • Filtering is inconsistent/buggy
    If helm-mp-matching-method uses prefix matching like multi3p, in my ~/.emacs.d/, typing au will list auto-save-list, but aut clears the whole buffer
  • Matching should take precedence over creating a new file
    Still in ~/.emacs.d/' if I type in, I get a single match for init.el but the selection stays on the [?] input line. Ido got this right by automatically selecting the first match and requiring user intervention for creatng a file whose name yields a match.
  • . and .. lines seem unnecessary especially since C-l will go up one level in the hierarchy.

The last two point combined make for a rather awkward flow when traversing directories. I believe it'd be easier to get rid of the . .. and [?] lines altogether, and have a keybinding to force selecting the current input if there is a match.

Grant access to the wiki to regular users

I'd like to edit the wiki, but I currently can't. I think that things like the user guide should be maintained in Markdown format there instead of LaTeX - there wouldn't be a need to rebuild the user guide manually on each change and a lot more people know Markdown, compared to LaTeX (even though I've written a lot of stuff in LaTeX I prefer Markdown immensely). I'm willing to do the conversion work myself.

Error on emacs shutdown

I'm using emacs 24.50.2 and helm (20120525). Every time I try to shutdown kill emacs (C-x C-c) I get the following error:

Cannot open doc string file "/Users/guto/.emacs.d/elpa/helm-20120525/helm-adaptative.elc"

I've tried to delete and reinstall helm with no luck.

My setup is based off Prelude.

Thanks

helm-M-x only adds successful commands to its history

Currently, if a command invoked using helm-M-x produces an error, it is not added to helm-M-x' history, since the corresponding (setq extended-history ..) line occurs after (call-interactively sym-com).

I'd prefer that a command that failed is still added to the history (e.g. when using M-x to test one's own code). I realize this viewpoint is probably fairly subjective, so it'd probably be best to make this behavior configurable via a defcustom. In my own tests it sufficed to execute (call-interactively ..) after adding the command to the history.

Enforce or change you indention style

I just noticed that you indent using spaces only.

Personally I always use the default indention style for any given language which in case of Emacs Lisp happens to be a mix of tabs and spaces. But as the maintainer this is of course your call.

However if you stick to your style you should enforce it by setting the appropriate file local variables. You can't expect potential contributors to check what indention style you are using and then figuring out how to make it happen. I for one did not check and the changes I made use the default style of tabs and spaces, which I now have to fix.

Why are 'parent' keymaps copied?

Why is e.g. helm-map created by copying minibuffer-local-map instead of using the latter as a parent keymap?

I have heavily modified the vanilla minibuffer-local maps and this therefor means I have to duplicate all my customization.

helm-do-grep returns "let: Symbol's function definition is void: helm-c-read-file-name"

If I understand the documentation, I'm supposed to be able to fire up helm-do-grep from any file and grep right away the current file's directory. At least that's what I want to achieve

When I run either M-x helm-do-grep or try C-u prefix-key M-g s from a file I get:

"let: Symbol's function definition is void: helm-c-read-file-name"

Not sure exactly what's going on.

Never clear what Helm is

Hi,

I've just arrived here and don't understand what Helm is. I had a look at the README and even the documentation pdf. Still, I don't get the point. Does it replace ido? Does it provide a completion mechanism?

What about describing some scenarios where Helm would be useful?
What about providing some screencasts?

Just suggestions

bug introduced by de6cb44

I updated helm to last commit and i found a regression. Helm is no longer able to visit files from Locate or Recentf section in helm-for-files. I bisected and the culprit seems to be de6cb44!

various helm-overlay-line suggestions

Shouldn't helm-overlay-line be defined in group helm and file helm.el like the other "framework" faces?

Also it should probably be renamed to helm-selection-line as "overlay" is an implementation and having it in the symbol name is confusing to anybody who isn't comfortable with elisp. Also the doc-string is actually for another face.

Make helm-c-buffers-list behave more like ido

As it is, helm-c-buffers-list generates a list which includes some unwanted buffers, namely, the buffer that was in the window which the helm buffer now occupies. ido-switch-buffer does the correct thing here, so simply hitch onto it. The following gives the correct behavior:

(defun helm-c-buffer-list ()
  "Return a list of buffer names.
The first buffer in the list will be the last recently used
buffer that is not the current buffer unless
`helm-allow-skipping-current-buffer' is nil."
  (save-excursion
    (save-window-excursion
      (helm-frame-or-window-configuration 'restore)
      (let ((ido-process-ignore-lists t)
            ido-ignored-list)
        (ido-make-buffer-list nil)))))

The save-excursion is probably superfluous, but it can't hurt. For more control, there are a bunch of ido variables which could be set to change the behavior, but I just wanted something quick and dirty.

helm-mode conflicts with magit

If I have helm-mode activated, I am unable to use magit's "quick" keybindings. For example, to checkout a branch I usually hit "bb' (First 'b' to show branch menu, second 'b' to checkout the branch". But I'm getting

let*: Wrong type argument: symbolp, (lambda nil (interactive) (magit-key-mode-command (quote magit-checkout)))

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.