aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-01-20Show a summary of the function/macro or variablesummaryWilfred Hughes
This solves a number of problems: 1. It gives a link to the source code at the top of the buffer, for users who want to jump to that quickly. See discussion in #67. 2. It favours giving the filename of the source code in the beginning of the buffer, as discussed in #69. However, we still show the full path in the source code section. This avoids confusion when users have upgraded built-in libraries (e.g. org-mode in ~/.emacs.d/elpa). 3. It ensures that buttons to source code files always jump to the definition location wherever possible. 4. It highlights functions that are interactive or autoloaded, and links to the relevant parts of the manual to clarify what that means.
2018-01-20Ensure we handle edebug info correctlyWilfred Hughes
edebug info may be a marker or a list, ensure we handle both.
2018-01-20Be defensive against missing primitive source codeWilfred Hughes
If find-function-C-source-directory isn't set, or if it's set to a directory that contains source to a different Emacs version, just return nil from helpful--definition.
2018-01-20More robust `foo' handling in docstring highlightingWilfred Hughes
This fixes a number of issues spotted in the docstring of vhdl-mode.
2018-01-15Don't error if a symbol is only defined in a .elc fileWilfred Hughes
Fixes #88
2018-01-11Roll versionWilfred Hughes
2018-01-11Don't prompt the user about unsafe buffer-local variables0.6Wilfred Hughes
When we are opening a buffer for source code, we're essentially in batch mode.
2018-01-11Ensure we link command references in variable docstrings tooWilfred Hughes
Previously the variable docstring had already been passed through substitute-command-keys and it was too late for our button conversion.
2018-01-07Allow running ERT tests found in property listsWilfred Hughes
2018-01-07Fix buffer cleanupWilfred Hughes
The refactoring in 53dd618 checked that 'created' was t before we actually set 'created'.
2018-01-07Error on unbound symbolsWilfred Hughes
2018-01-07Fix unused argumentWilfred Hughes
2018-01-07Stricter regexps for highlighting `foo' in docstringsWilfred Hughes
Previously, the regexp was greedy, so we would erroneously highlight: `foo `bar' as a single symbol. Fixes #87.
2018-01-02Kill old buffers according to recency of useWilfred Hughes
2018-01-02Silence byte-compiler warningWilfred Hughes
2018-01-01Add make-button functionsNick Drozd
2018-01-01Use sym-type in advice stringNick Drozd
2018-01-01Consolidate whitespaceNick Drozd
2018-01-01Add helpful--calculate-referencesNick Drozd
2018-01-01Handle keymap references in docstringsWilfred Hughes
Fixes #83.
2018-01-01Better handling of keybindingsWilfred Hughes
Look at all keymaps in global variables, so we don't miss keymaps like `minibuffer-local-map`. Ignore inherited keybindings. Ignore menu bar items (I don't find them useful at least). Refactor global keybinding logic, as the global-map variable means we don't need to treat global keybindings as a special case.
2017-12-31Minor refactoringWilfred Hughes
2017-12-31Remove side-effect-free statement (#81)Johann Klähn
2017-12-31Add imenu supportWilfred Hughes
Fixes #24. This is much inspired by the sample code given by @xenodium in issue #36. Thanks! :)
2017-12-31Highlight keywords in docstringsWilfred Hughes
See defface for an example.
2017-12-31Factor out a heading faceWilfred Hughes
2017-12-30Symbols needs to be quoted when reading in new valuesWilfred Hughes
E.g. try setting text-quoting-style
2017-12-30Expand recommended keybindingsWilfred Hughes
2017-12-30Remove old 'coming soon'Wilfred Hughes
2017-12-30Update changelogWilfred Hughes
2017-12-30Offer disassembly of symbol properties tooWilfred Hughes
2017-12-30Fix incorrect let nestingWilfred Hughes
2017-12-30Handle command key substitution correctlyWilfred Hughes
Emacs allows you to write \[foo] to show the keybinding for command foo. It provides \= as a way of escaping. Ensure we substitute \= properly in docstrings, using a similar logic to substitute-command-keys. We still provide additional buttons, so \[foo] will be converted to a button pointing to foo in Helpful buffers. Fixes #80.
2017-12-22Remove commands that are already defined in EmacsWilfred Hughes
Great suggestion from @narendraj9 in #24.
2017-12-22Ensure no trailing newlines on text from helpful--sourceWilfred Hughes
2017-12-22Fix indentWilfred Hughes
2017-12-22Bump versionWilfred Hughes
2017-12-22Cleanup old helpful buffers0.5Wilfred Hughes
Define helpful-max-buffers as a compromise between 'keep everything' and 'cleanup immediately', allowing users to decide how many helpful buffers they want to keep around. Fixes #66
2017-12-22Refactor helpful-update formatting (#76)Nick Drozd
* Add helpful--insert-section-break * Refactor header strings * Add newline to helpful--heading * Add sym-type variable to helpful-update
2017-12-22Speedup opening helpful buffers for primitive functionsWilfred Hughes
Previously we would spend a lot of time executing mode hooks when Emacs source code was loaded.
2017-12-21Add missing newline for consistent formattingWilfred Hughes
2017-12-21Convert command keys references to buttonsWilfred Hughes
2017-12-21Remove completed todoWilfred Hughes
2017-12-21Ensure we copy strings before creating buttonsWilfred Hughes
This should fix #74 and #68, as well as abo-abo/swiper#1380. make-text-button calls add-text-properties, which mutates the string we passed in. If we also use this string with find-file, we end up calling find-file with propertized strings. Perhaps recentf should be more robust against propertized strings, but fixing it in helpful is reasonable and clean.
2017-12-18Tweak button wordingWilfred Hughes
2017-12-18Show symbol properties last, as they're the least usefulWilfred Hughes
2017-12-18Show aliasesWilfred Hughes
Closes #27
2017-12-18Fix incorrect echo text due to copy-pastingWilfred Hughes
2017-12-18Support newlines in Info node referencesWilfred Hughes
See indirect-function for an example
2017-12-18Allow users to specify the path to Emacs C source codeWilfred Hughes