2015-04-16 10:43:10 +00:00
|
|
|
# Semantic contribution layer for Spacemacs
|
|
|
|
|
|
|
|
## Description
|
|
|
|
|
|
|
|
CEDET is a **C**ollection of **E**macs **D**evelopment **E**nvironment **T**ools
|
|
|
|
written with the end goal of creating an advanced development environment in
|
|
|
|
Emacs. CEDET includes common features such as intelligent completion, source
|
|
|
|
code navigation, project management, code generation with templates . CEDET also
|
|
|
|
provides a framework for working with programming languages; support for new
|
|
|
|
programming languages can be added and use CEDET to provide IDE-like
|
|
|
|
features. This framework is called Semantic.
|
|
|
|
|
|
|
|
Semantic is a package that provides a framework for writing parsers. Parsing is
|
|
|
|
a process of analyzing source code based on programming language syntax. The
|
|
|
|
packages relies on Semantic for analyzing source code and uses its results to
|
|
|
|
perform smart code refactoring that based on code structure of the analyzed
|
|
|
|
language, instead of plain text structure. Semantic is the core of CEDET.
|
|
|
|
|
|
|
|
## Features
|
|
|
|
|
2015-04-21 05:25:38 +00:00
|
|
|
- Display function or variable definition at the bottom.
|
|
|
|
- Display current function cursor is in at the top. See
|
|
|
|
[this page][stickyfunc-demos] for demos in some programming languages.
|
|
|
|
- Support common C/C++ refactoring with [semantic-refactor][]. See
|
|
|
|
[this page][srefactor-demos] for demonstration of refactoring features.
|
|
|
|
- Support Lisp source code formatting with [semantic-refactor][]. See
|
|
|
|
[this page][srefactor-lisp-demos] for demonstration of Lisp formatting
|
|
|
|
features.
|
2015-04-16 10:43:10 +00:00
|
|
|
|
|
|
|
## Install
|
|
|
|
|
|
|
|
To use this contribution add it to your `~/.spacemacs`
|
|
|
|
|
|
|
|
```elisp
|
|
|
|
(setq-default dotspacemacs-configuration-layers '(semantic))
|
|
|
|
```
|
|
|
|
|
|
|
|
## Key Bindings
|
|
|
|
|
|
|
|
Key Binding | Description
|
|
|
|
----------------------|------------------------------------------------------------
|
|
|
|
<kbd>SPC m r</kbd> | srefactor: refactor thing at point.
|
|
|
|
|
|
|
|
|
|
|
|
[semantic-refactor]: https://github.com/tuhdo/semantic-refactor
|
|
|
|
[srefactor-demos]: https://github.com/tuhdo/semantic-refactor/blob/master/srefactor-demos/demos.org
|
|
|
|
[srefactor-lisp-demos]: https://github.com/tuhdo/semantic-refactor/blob/master/srefactor-demos/demos-elisp.org
|
|
|
|
[stickyfunc-demos]: https://github.com/tuhdo/semantic-stickyfunc-enhance
|