GithubHelp home page GithubHelp logo

med's Introduction

med - Mezzano EDitor
----------------------

med is a fork of the original editor that comes with Mezzano, a 
Common Lisp operating system.  The original editor is not so good 
at handling large files, so initially this fork broke the one big 
file it was written in into smaller ones for easier development.

Original Mezzano editor.lisp code written by Henry Harrington.

TODO:

- minibuffer completion
  - pass in completion function to read-from-minibuffer
    - takes a string
    - returns a list of strings that are completions of that string
      - file-completion
      - symbol-completion
      - buffer-completion
      - command-completion

- telnet

- irc client

- multiple windows
  - might just put this in a window manager
  - need resizeable windows

- grep-buffers

- save all editor threads/frames

- multiple editor frame support

- get minibuffer to wrap 
- clear bottom messages after a while

- optimize or cache (memoize?) buffer current package so we can put
  the current file package in the modeline properly

- hang when yanking, sometimes...

- isearch
  - When typing wrong characters in isearch they are appended to the *isearch-string*. 
    They should be just discarded 

- replace-string, query-replace, replace-regexp
- search for regex
- show-paren-mode like paren matching by bolding the matching paren
  - added character attributes
  - make redisplay render with bold font if :BOLD is set in the character attributes
- auto indentation (basic electric newline?)
   
- undo
- color highlighting (hard, might want to just use italic/bold for keywords at first)
- file completion during C-x C-f
- symbol completion during M-: 
- jump/pop to/from source M-./M-* (see compiler for adding line/file information)
- 'hippy' symbol completion M-/
- fill

- Encoding BUG: saving gui/compositor.c caused some sort of encoding problem with
  the pound symbol and another one. had to revert using git. also happens on 
   copywrite symbol in the README.

--
Burton Samograd <[email protected]>
2015

med's People

Contributors

burtonsamograd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

med's Issues

Consider a CLIM-like "command" system

Instead of defining commands purely with defun it might make sense to use a define-command macro similar to CLIM. For example, instead of

(defun forward-char-command ()
  (move-char (current-buffer *editor)))

(set-key #\C-F 'forward-char-command key-map)

one might write

(define-editor-command (forward-char-command :keystroke #\C-F)
  (move-char (current-buffer *editor*)))

making it easier to add new commands to the editor.

It would also make a handy single place to modify when adding commands that can be invoked by human-equivalent name (rather than by Lisp function name) as in ZMACS, and commands that can prompt for arguments when used interactively as well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.