URL:
<http://gna.org/task/?7936>
Summary: Submission of Viper C0
Project: Gna! Administration
Submitted by: mtitke
Submitted on: sab 27 giu 2015 17:16:45 UTC
Status: None
Approval Status: None
Should Start On: sab 27 giu 2015 00:00:00 UTC
Should be Finished on: mar 07 lug 2015 00:00:00 UTC
Category: Project Approval
Priority: 5 - Normal
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
_______________________________________________________
Details:
A new project has been registered at Gna!
This project account will remain inactive until a site admin approves or
discards the registration.
= Registration Administration =
While this item will be useful to track the registration process, *approving
or discarding the registration must be done using the specific Group
Administration <https://gna.org/siteadmin/groupedit.php?group_id=3606> page*,
accessible only to site administrators, effectively *logged as site
administrators* (superuser):
* Group Administration <https://gna.org/siteadmin/groupedit.php?group_id=3606>
= Registration Details =
* Name: *Viper C0*
* System Name: *viper*
* Type: Programs
* License: N/A (There is no license right now as I only use licenses when I
get paid and not for private and public "pet" projects. If you force me to
choose a license right now I will consider it to be invalid as there cannot
arise an agreement between me and a picture of a button.
Just get over it as it might become free like a bird if you let it.
)
----
==== Description: ====
I do not have yet any on-line space to show you the code of
Viper C0 alfa
It's will become a remake of the classical Visual Display Editor and the
infamous Emacs Viper mode. It's currently implemented in Guile/GOOPS 1.8 but
it will need it's own Viper System Interface based on branch of Guile 1.8 in
the future. The current status is alfa, i.e. unfinished and unusable as an
editor. But you might want to look at it as a framework for a modern
programmable editor that is going to replace Emacs for me in the long run.
It's command line interface is already ready for extensions:
(define (command-line-execute)
(define (R-E-D command-string)
(display (eval-command-line (read-string command-string))) )
(define (read-string string)
(call-with-input-string string read))
(let ((command (list->string
(reverse! command-line-buffer))))
(set! command (string-append "(" command ")"))
(cursor-home terminal)
(my-debug "command-line-execute: " command)
(cursor-home terminal)
(R-E-D command)))
(define terminal (make <terminal>
#:port (fdopen (port->fdes (current-output-port))
"r+0b")))
(define buffer-view (make <buffer-view> #:terminal terminal))
(define command-line-buffer '())
(define current-event-handler #f)
(define command-line-environment (null-environment 5))
;;
;; Command Line Commands
(define (iconify) (iconify-window terminal))
(module-define! command-line-environment 'e edit-file)
(module-define! command-line-environment 'q clean-exit)
(module-define! command-line-environment 'iconify iconify)
(define (eval-command-line command-line)
(eval command-line command-line-environment))
==== Other Software Required: ====
Guile 1.8, stty (from Coreutils)
_______________________________________________________
Reply to this item at:
<http://gna.org/task/?7936>
_______________________________________________
Messaggio inviato con/da Gna!
http://gna.org/
_______________________________________________
Register mailing list
[email protected]
https://mail.gna.org/listinfo/register