Personal emacs config
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
2.5 KiB

  1. ;;; ein.el --- IPython notebook client in Emacs
  2. ;; Copyright (C) 2012-2015 Takafumi Arakaki, John Miller
  3. ;; Author: John Miller <millejoh at millejoh.com>, Takafumi Arakaki <aka.tkf at gmail.com>
  4. ;; URL: http://millejoh.github.io/emacs-ipython-notebook/
  5. ;; Keywords: jupyter, literate programming, reproducible research
  6. ;; This file is NOT part of GNU Emacs.
  7. ;; ein.el is free software: you can redistribute it and/or modify
  8. ;; it under the terms of the GNU General Public License as published by
  9. ;; the Free Software Foundation, either version 3 of the License, or
  10. ;; (at your option) any later version.
  11. ;; ein.el is distributed in the hope that it will be useful,
  12. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. ;; GNU General Public License for more details.
  15. ;; You should have received a copy of the GNU General Public License
  16. ;; along with ein.el. If not, see <http://www.gnu.org/licenses/>.
  17. ;;; Commentary:
  18. ;; Emacs IPython Notebook (EIN) lets you run Jupyter (formerly IPython)
  19. ;; notebooks within Emacs. It channels all the power of Emacs without the
  20. ;; idiosyncrasies of in-browser editing.
  21. ;;
  22. ;; Org_ users please find ob-ein_, a jupyter Babel_ backend.
  23. ;;
  24. ;; EIN was originally written by `[tkf]`_. A jupyter Babel_ backend was first
  25. ;; introduced by `[gregsexton]`_.
  26. ;;
  27. ;;; Code:
  28. (provide 'ein)
  29. ;;; Old commentary:
  30. ;; Development
  31. ;; ===========
  32. ;; Event vs hook vs callback
  33. ;; -------------------------
  34. ;;
  35. ;; * Use events (`ein:events') for calling (possibly multiple) functions
  36. ;; for its side effect.
  37. ;; * Use hooks for global/configurable setting.
  38. ;; * Use callback when caller needs returned value.
  39. ;; (e.g., `:get-buffers' slot in `ein:kernelinfo')
  40. ;; Naming
  41. ;; ------
  42. ;;
  43. ;; Variable named `ein:%VAR-NAME%' is a permanent buffer local
  44. ;; variable defined by `ein:deflocal'. It is often an instance of a
  45. ;; class/struct named `ein:VAR-NAME'.
  46. ;;
  47. ;; Old naming rule:
  48. ;; * `ein:@VAR-NAME'/`ein:VAR-NAME' is a permanent buffer local
  49. ;; variable. These variables are obsolete now.
  50. ;; * `ein:$STRUCT-NAME' is a name of struct.
  51. ;; These strcuts will be renamed to `ein:CLASS-NAME' when
  52. ;; reimplementing them using EIEIO class instead of CL struct.
  53. ;;
  54. ;; See also:
  55. ;; `CLiki : naming conventions <http://www.cliki.net/naming%20conventions>`_
  56. ;; Integrate ein into core emacs functionality
  57. (when (boundp 'mouse-buffer-menu-mode-groups)
  58. (add-to-list 'mouse-buffer-menu-mode-groups
  59. '("^ein:" . "ein")))
  60. ;;; ein.el ends here