Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A few questions. #1

Open
Malabarba opened this issue Jul 17, 2014 · 1 comment
Open

A few questions. #1

Malabarba opened this issue Jul 17, 2014 · 1 comment

Comments

@Malabarba
Copy link

Some of the Readme items make me curious.

Partially auto pretty prints code non-disruptively as you type it.

What is this like?

Allows you to quickly move through your program by atom or s-expression.

As in, forward/backward-sexp, or more sophisticated?

Allows you to quickly select, copy, cut, and paste atoms and s-expressions.

As in expand-region and kill-sexp, or more sophisticated? 

@astine
Copy link
Owner

astine commented Jul 17, 2014

Hey, thanks for taking an in interest in this project. For now, I've been treating it as a failed experiment because the code is too buggy for real work and it needs a major rethinking of the way it understands the structure of the code. I haven't had the time needed lately to really iron this out.

In answer to your questions, yes, more sophisticated in either case. Forward-sexp et al, simply count parens (and some other syntactical aspects that emacs is aware of) to find the closing/opening paren. Tactile keeps constant track of the user's position in the code tree and maintains a selection of either an atom or a sexp which the user can manipulate.

The idea here isn't just to give the user some commands to more quickly manipulate plaintext but to let the editor manage the structure of the code. In theory, this would enable a lot of stuff from better mouse interaction much more intelligent auto-completion and code generation. I wrote almost a replacement for a lot of Emacs syntax detection to try to do this.

I have a more complete writeup on my thought process here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants