Posts

Showing posts with the label CEDET

CEDET: Across the Language Barrier

Image
Emacs at its core is a Lisp interpreter written in C. If you are an Emacs developer, this means you often need to jump between C and Lisp programming languages. CEDET is capable of maintaining project-wide tag database and hence allows the user to seamlessly jump across the definitions in either C or Lisp.    Demo: Jump to definition across Lisp and C (including pre-processor) using CEDET . Note: Emacs provides necessary tools to make development easier.  find-function will also do the job. However, this article is about CEDET. Another useful application is when you are editing an HTML which usually entails editing HTML, CSS and JS. Setup instructions are here: https://lifeofpenguin.blogspot.com/2021/04/gnu-emacs-as-lightweight-ide.html

GNU Emacs as a lightweight IDE - Assembly

Image
CEDET support for Assembly language Auto-completion using company and speedbar outline view Jump to label Jump to include file Auto-completion using company Speedbar outline view     ASM file extensions supported - .s, .S and .asm   Grammar file: https://gitlab.com/atamariya/emacs/-/blob/dev/admin/grammars/asm.wy

GNU Emacs as a lightweight IDE

Image
If you have a small project in any of the supported languages, you can get IDE like features without any additional installation in Emacs. Given the CEDET framework, supporting more languages boils down to simply adding a new grammar and overloading few functions. Presently, it works for the following languages (demo links in brackets): - C ( Auto-suggest data structure , Auto-suggest basic , generate header ) - LaTex ( Auto-suggest ) - SQL ( Auto-suggest from connected DB , Auto-suggest local names and statements ) - HTML, JS , CSS - Java ( Auto-suggest , Refactoring , Debugging , Type hierarchy , Semantic font-lock , Getter/setter ) - Elisp ( Auto-suggest , Refactoring ) - PHP - Assembly   - IDE Basics , Outline view , Rename symbol , Lexer based indent region , Call tree, Semantic font lock Complete playlist is here .   Steps Build Emacs from source  https://gitlab.com/atamariya/emacs/tree/dev You should put the following in your .emacs file.  Co...