Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
15 changes: 15 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Changelog

* Remove cruft files

* Reorganize file structure

* Add ability to publish html from emacs org files

* Corrections / edits to c-ide.org

* Remove javascript statcounter and disqus comments

* Present (some) animated gif demos side-by-side

* Present more commands in table format
31 changes: 29 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,33 @@
Emacs Mini Manual
=================

Check it out: http://tuhdo.github.io/emacs-tutor.html
1. The manual is viewable at:
https://boruch-baum.github.io/emacs_mini_manual/

If you can improve, feel free to create pull request. The Org files are in emacs-tutor/ library.
2. The page names are:

* Emacs Mini Manual (Part 1) - The Basics

* Emacs Mini Manual (Part 2) - Lisp Primer: Why Parentheses Matter

* Emacs Mini Manual (Part 3) - Customizing And Extending Emacs

* Setup C/C++ Development Environment for Emacs

+ See also related repository
https://github.com/Boruch-Baum/emacs-c-ide-demo

* A Package in a league of its own: Helm

* Exploring large projects with Projectile and Helm Projectile

* Emacs for Programming Languages course on Coursera

* Setup Emacs with PDF Tools and Xwidgets web browser on Windows

3. The pages are produced from emacs org files, which are in the `org'
folder. See `org/publish.el' for how to convert them to html.

4. This is a fork of https://github.com/tuhdo/tuhdo.github.io

+ Refer to CHANGELOG file for how I've altered it.
87 changes: 87 additions & 0 deletions TODO
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
TODO

* Incorporate appropriate information from the ggtags readme file.

* List components to be installed by demo, and the corresponding
debian packages.

* Determine whether ebrowse.org is cruft.

* Determine whether anything useful is in c-ide-irony_bak.org.

* Edit animated gifs to be more likely to be legible and totally
visible on a screen.

* Take all code from the demo repository, incorporate it into the org
files of this repository as babel-org source, from which to build
the demo. That way the code will always be in sync with the
snippets of the org files.

* Is cscope integration coveered?
(require 'xcscope)
(setq cscope-do-not-update-database t)

* ido-imenu
(defun ido-imenu ()
"Update the imenu index and then use ido to select a symbol to
navigate to.
Symbols matching the text at point are put first in the completion
list."
(interactive)
(imenu--make-index-alist)
(let ((name-and-pos '())
(symbol-names '()))
(flet ((addsymbols
(symbol-list)
(when (listp symbol-list)
(dolist (symbol symbol-list)
(let ((name nil) (position nil))
(cond
((and (listp symbol) (imenu--subalist-p symbol))
(addsymbols symbol))

((listp symbol)
(setq name (car symbol))
(setq position (cdr symbol)))

((stringp symbol)
(setq name symbol)
(setq position
(get-text-property 1 'org-imenu-marker
symbol))))

(unless (or (null position) (null name))
(add-to-list 'symbol-names name)
(add-to-list 'name-and-pos (cons name
position))))))))
(addsymbols imenu--index-alist))
;; If there are matching symbols at point, put them at the
beginning
;; of `symbol-names'.
(let ((symbol-at-point (thing-at-point 'symbol)))
(when symbol-at-point
(let* ((regexp (concat (regexp-quote symbol-at-point) "$"))
(matching-symbols
(delq nil (mapcar
(lambda (symbol)
(if (string-match regexp symbol)
symbol))
symbol-names))))
(when matching-symbols
(sort matching-symbols (lambda (a b) (> (length a)
(length b))))
(mapc
(lambda (symbol)
(setq symbol-names (cons symbol (delete symbol
symbol-names))))
matching-symbols)))))
(let* ((selected-symbol (ido-completing-read "Symbol? "
symbol-names))
(position (cdr (assoc selected-symbol name-and-pos))))
(push-mark)
(if (overlayp position)
(goto-char (overlay-start position))
(goto-char position)))))
(global-set-key (kbd "C-x C-i") 'ido-imenu)

* icicles, imenu-anywhere, imenu+, imenus
Loading