Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/syohex/emacs-counsel-gtags
GNU Global with ivy completion
https://github.com/syohex/emacs-counsel-gtags
Last synced: about 19 hours ago
JSON representation
GNU Global with ivy completion
- Host: GitHub
- URL: https://github.com/syohex/emacs-counsel-gtags
- Owner: syohex
- Created: 2016-05-28T13:07:53.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-09-08T09:05:36.000Z (over 4 years ago)
- Last Synced: 2024-11-09T06:08:10.589Z (about 2 months ago)
- Language: Emacs Lisp
- Size: 33.2 KB
- Stars: 62
- Watchers: 8
- Forks: 20
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: Changes
Awesome Lists containing this project
README
This package is no longer maintained. If you have an issue or pull request, please send it to https://github.com/FelipeLema/emacs-counsel-gtags
# counsel-gtags.el [![melpa badge][melpa-badge]][melpa-link] [![melpa stable badge][melpa-stable-badge]][melpa-stable-link]
[GNU GLOBAL](https://www.gnu.org/software/global/) interface of [ivy](https://github.com/abo-abo/swiper).
## Tasks
- [X] Basic commands
- [X] find file command
- [X] Tag command
- [ ] Context command(dwim)
- [X] Find definition and references
- [ ] include header support
- [ ] `GTAGSLIBPATH` support
- [X] Basic History command
- [ ] History navigate command
- [ ] Tramp support
- [ ] Windows support## Requirements
- Emacs 24.3 or higher versions
- [counsel](https://github.com/abo-abo/swiper)
- GNU global 6.2.3 or higher versions## Installation
`counsel-gtags` is available on [MELPA](https://melpa.org/) and [MELPA stable](https://stable.melpa.org/)
You can install `counsel-gtags` with the following command.
M-x package-install [RET] counsel-gtags [RET]
## Basic Usage
You can search for tags or files in the database. Every time you jump to a
definition, reference or symbol the current position is pushed to the context
stack. You can navigate backward and forward within this stack with
`counsel-gtags-go-backward` and `counsel-gtags-go-forward`.#### counsel-gtags-find-definition
Search for definition.
#### counsel-gtags-find-reference
Search for references.
#### counsel-gtags-find-symbol
Search for symbol references.
#### counsel-gtags-find-file
Search for file among tagged files.
#### counsel-gtags-go-backward
Go to previous position in context stack.
#### counsel-gtags-go-forward
Go to next position in context stack.
#### counsel-gtags-create-tags
Create GNU GLOBAL tags.
#### counsel-gtags-update-tags
Update tags.
#### counsel-gtags-dwim
Find name by context.
- Jump to tag definition if cursor is on tag reference
- Jump to tag reference if cursor is on tag definition## Sample Configuration
```lisp
(add-hook 'c-mode-hook 'counsel-gtags-mode)
(add-hook 'c++-mode-hook 'counsel-gtags-mode)(with-eval-after-load 'counsel-gtags
(define-key counsel-gtags-mode-map (kbd "M-t") 'counsel-gtags-find-definition)
(define-key counsel-gtags-mode-map (kbd "M-r") 'counsel-gtags-find-reference)
(define-key counsel-gtags-mode-map (kbd "M-s") 'counsel-gtags-find-symbol)
(define-key counsel-gtags-mode-map (kbd "M-,") 'counsel-gtags-go-backward))
```[melpa-link]: https://melpa.org/#/counsel-gtags
[melpa-stable-link]: https://stable.melpa.org/#/counsel-gtags
[melpa-badge]: https://melpa.org/packages/counsel-gtags-badge.svg
[melpa-stable-badge]: https://stable.melpa.org/packages/counsel-gtags-badge.svg