- Add a custom variable helm-semantic-display-style that allows user to choose between two display style: the default (the current style) and a more concise style, semantic-format-tag-prototype that omits all the information about a tag (i.e. no "Function: " or "Variable: " is appended in each entry). - Remove "Class" in format string to reduce the verbosity. Instead, only show the parent name next to current tag. - Don't create a candidate for function parameters. User would be faster to jump to a function and navigate to the function parameter.
* helm-semantic.el (helm-semantic-source): Use helm-source-in-buffer. (helm-semantic-get-candidates): Removed.
…#145). * helm-imenu.el (helm-imenu-source): new class. (helm-imenu-fuzzy-match): use a set function and move it below. (helm-imenu): Set the source here (should be set by the fuzzy var, but be sure it is done). * helm-semantic.el: Same.
* helm-imenu.el (helm-imenu-fuzzy-match): New var. * helm-semantic.el (helm-semantic-fuzzy-match): New var.
When a buffer is modified, it has to be re-parsed by Semantic to get a new list of tags. This needs to be done when helm-source-semantic is at "init" phase - to do this in current buffer - then pass the result to "candidate" phase. When helm-source-semantic gets to "candidate" phase, we are already in a Helm buffer and re-parsing at this stage is late. If we modify a large portion of buffer and re-parse at "candidate" stage, we only get an empty helm-semantic buffer. For example, to reproduce this issue: - "C-x h" to mark all helm.el content. - Paste the same content into the same helm.el buffer. - Run helm-semantic-or-imenu and see an empty buffer. For this reason, add back helm-semantic--maybe-set-needs-update and perform tag fetching at "init" phase. "candidates" should only get processed candidates
- helm-semantic and helm-semantic-or-imenu now automatically pre-selects the semantic tag in context. For example, when cursor is inside a function like "helm-semantic", invoking the commands will move the highlighter to that function tag. With this change, effectively the commands can be used for effective navigation betweens adjacent tags in buffer. - With a prefix argument, pre-select symbol at point instead. So, the original behavior is reserved. - Pre-selection no longer narrows to a candidate. - Do not enable using default as input for helm-source-semantic, since we already handle operation at point. - Remove helm-semantic--maybe-set-needs-update, since we get tags directly using semantic-fetch-tags function, and it always gets latest tags when buffer is modified.
It should also display dependenciy tags, such as include headers in C and C++. Signed-off-by: Tu, Do <firstname.lastname@example.org>
* helm-config.el: Update autoloads. * helm-help.el: use helm-maybe-exit-minibuffer where needed. * helm-imenu.el: use helm-maybe-exit-minibuffer where needed. * helm-mode.el: use helm-maybe-exit-minibuffer where needed. * helm-semantic.el:use helm-maybe-exit-minibuffer where needed. * helm-utils.el: use helm-maybe-exit-minibuffer where needed. * helm.el: use helm-maybe-exit-minibuffer where needed.
It have font-lock broken in some place but is not broken as in 24.3.90. So perhaps it is the best option for now.
…New, allow resetting cache when buffer is modified. (helm-source-semantic): use it.
…class when coming back to toplevel.
* helm-semantic.el (helm-semantic, helm-semantic-or-imenu): same. * helm.el (helm-sources-using-default-as-input): Add semantic.
…hen using imenu.
(helm-goto-line): Use it. * helm-semantic.el (helm-semantic-default-action): Highlight.
… parent. * helm-files.el: replace a cl-dolist by cl-loop. * helm-misc.el: same.
…: Replaced by helm-highlight-current-line. *helm-grep.el *helm-imenu.el *helm-misc.el *helm-org.el *helm-regexp.el *helm-ring.el *helm-semantic.el *helm-tags.el *helm-utils.el