GScope is a simple GTK-3 frontend for cscope.
It uses ctags or gotags for local symbols lookup while global requests are managed by cscope.
To setup run sudo python3 setup.py install
Settings are kept in json format in form of
{
"img": {
"close": "close.svg",
"locked": "locked.svg",
"unlocked": "unlocked.svg",
"icon": "gscope.svg"
},
"fonts": {
"source": "Droid Sans Mono 13"
},
"tags": {
".*\\.(go)": ["gotags", ["gotags"]],
".*\\.([cChH])": ["ctags", ["ctags", "--excmd=n", "-u", "-f", "-"]],
"*": ["ctags", ["ctags", "--excmd=n", "-u", "-f", "-"]]
},
"ui": {
"source-view-ratio": 0.65,
"tags-view-ratio": 0.20
},
"loglevel": 4,
"editor": ["gvim", "-R"]
}
where img
key represent icons, fonts
stays for font selection
in source code viewer, tags
are needed to parse local tags,
ui
stands for windows splitting ratio, loglevel
for debug
printouts (from 1 to 4) and editor
for launching external
editor on Ctl+e
keypress inside source code view.
The default settings are shipped with the package itsels but
may be overriden with -f path-to-file.json
from command
line.
The current project state can be opened and save via Project->Open or Project->Save respectively. An appropriate file format is the following
{
"version": "0.3",
"cwd": "/projects/kernel/linux-ml.git/",
"program": "GScope",
"entry": [
{
"action": "open",
"path": "kernel/kcmp.c"
},
{
"sym": "get_file_raw_ptr",
"action": "cscope",
"type": 10
},
{
"action": "open",
"path": "fs/eventpoll.c"
}
]
}
Shortcut | Meaning |
---|---|
Ctl+o |
Open a file |
Ctl+q |
Exit the program |
Ctl+e |
Open current source file in editor |
Ctl+r |
Do cscope reference request with the text selected |
Ctl+d |
Do cscope definition request with the text selected |
Ctl+O |
Open a project |
Ctl+S |
Save a project |
Ctl+D |
Close a project |