On Sun, Jul 13, 2014 at 12:00:44AM +0300, Dimitris Zervas wrote:
Why are we stuck not to use headers?
I thought it just was not needed.
Apart from the 10 lines difference, is there any other reason?
Performance maybe?
If you only have one C file, headers are not necessary.
-- mpu
q...@c9x.me wrote:
If you only have one C file, headers are not necessary.
Heyho,
I think if you come up with a well designed API for e.g. the modal keyhandling,
it is worth to separate the functionality, so it can be reused in other
projects. This also happened to dra?w.[ch] in dwm, dmenu,
On Sun, Jul 13, 2014 at 2:29 AM, Dimitris Zervas dzer...@dzervas.gr wrote:
I think that the patch is ready.
It has some little bugs and some beautiful vim keys were not implemented
(such as r), but I'll work on them...
I'm not into creating a dozen more functions, so it will take me some time
Great work! I found a couple of bugs, but they should be easy to fix.
Add a comment to be able to track them
I think we could aim for maximum expectability while keeping the
amount of code at a minimum: anyone using basic vi commands should
feel mostly at home when using sandy.
As a personal
On Sun, Jul 13, 2014 at 2:40 PM, Dimitris Zervas dzer...@dzervas.gr wrote:
Great work! I found a couple of bugs, but they should be easy to fix.
Add a comment to be able to track them
'm', 'n' and 'N' were not working in command mode (the Arg was 0 so it
was starting a sequence). I fixed it by
On July 13, 2014 5:50:44 PM EEST, Rafa Garcia Gallego
rafael.garcia.gall...@gmail.com wrote:
On Sun, Jul 13, 2014 at 2:40 PM, Dimitris Zervas dzer...@dzervas.gr
wrote:
Great work! I found a couple of bugs, but they should be easy to fix.
Add a comment to be able to track them
'm', 'n' and 'N'
On Sun, Jul 13, 2014 at 03:29:15AM +0300, Dimitris Zervas wrote:
I think that the patch is ready.
Hi Dimitris, I am not being able to build it (on ad325a):
sandy.c: In function ‘i_termwininit’:
sandy.c:1397:5: error: ‘USE_TERM_STATUS’ undeclared (first use in this
function)
On July 13, 2014 9:56:12 PM EEST, Amadeus Folego amadeusfol...@gmail.com
wrote:
On Sun, Jul 13, 2014 at 03:29:15AM +0300, Dimitris Zervas wrote:
I think that the patch is ready.
Hi Dimitris, I am not being able to build it (on ad325a):
sandy.c: In function ‘i_termwininit’:
sandy.c:1397:5:
On July 13, 2014 10:44:45 PM EEST, Dimitris Zervas dzer...@dzervas.gr wrote:
On July 13, 2014 9:56:12 PM EEST, Amadeus Folego
amadeusfol...@gmail.com wrote:
On Sun, Jul 13, 2014 at 03:29:15AM +0300, Dimitris Zervas wrote:
I think that the patch is ready.
Hi Dimitris, I am not being able to build
On July 11, 2014 11:05:05 PM EEST, q...@c9x.me wrote:
On Fri, Jul 11, 2014 at 09:47:33PM +0200, Markus Teich wrote:
I disagree. Well designed code is also depending on well designed
data
structures. Data structures, especially core functionality ones, are
not easily
changed or even replaced by
On July 11, 2014 5:02:15 PM EEST, Charlie Kester corky1...@comcast.net wrote:
On Fri 11 Jul 2014 at 06:35:50 PDT Dimitris Zervas wrote:
Well, it's good to have an idea of what am I going to do, after this
patch set.
I was thinking of a super easy implementation, nearly without a
buffer.
Spit the
I think that the patch is ready.
It has some little bugs and some beautiful vim keys were not implemented (such
as r), but I'll work on them...
I'm not into creating a dozen more functions, so it will take me some time to
think a way to implement them...
So, here you go! :)
You can also get the
On Fri, Jul 11, 2014 at 12:32 AM, Dimitris Papastamos s...@2f30.org wrote:
There are many ways to do this, I'd go for the simplest approach in terms of
code
readability and stop worrying about performance.
That. The reason sandy uses a double-linked list of lines is obviously
not performance,
On Thu, Jul 10, 2014 at 03:59:01PM -0700, Charlie Kester wrote:
On Thu 10 Jul 2014 at 15:46:13 PDT Dimitris Papastamos wrote:
On Fri, Jul 11, 2014 at 01:43:16AM +0300, Dimitris Zervas wrote:
First of all, we haven't even agree in which data structure will we use.
Buffer gap, piece table, or
On Fri 11 Jul 2014 at 01:48:39 PDT Maxime Coste wrote:
On Thu, Jul 10, 2014 at 03:59:01PM -0700, Charlie Kester wrote:
I agree. Start by identifying the editing operations that the data
structure must support, no matter how it is implemented. Those
operations will form the API for your data
On Fri 11 Jul 2014 at 06:06:39 PDT Charlie Kester wrote:
On Fri 11 Jul 2014 at 01:48:39 PDT Maxime Coste wrote:
On Thu, Jul 10, 2014 at 03:59:01PM -0700, Charlie Kester wrote:
I agree. Start by identifying the editing operations that the data
structure must support, no matter how it is
On July 11, 2014 4:26:12 PM EEST, Charlie Kester corky1...@comcast.net wrote:
On Fri 11 Jul 2014 at 06:06:39 PDT Charlie Kester wrote:
On Fri 11 Jul 2014 at 01:48:39 PDT Maxime Coste wrote:
On Thu, Jul 10, 2014 at 03:59:01PM -0700, Charlie Kester wrote:
I agree. Start by identifying the editing
On Fri 11 Jul 2014 at 06:35:50 PDT Dimitris Zervas wrote:
Well, it's good to have an idea of what am I going to do, after this patch set.
I was thinking of a super easy implementation, nearly without a buffer.
Spit the chars to the screen and replace characters on the fly.
When a buffer is
On Thu, Jul 10, 2014 at 6:32 PM, Dimitris Papastamos s...@2f30.org wrote:
There are many ways to do this, I'd go for the simplest approach in terms of
code
readability and stop worrying about performance.
If it is slow or memory hungry, it can be fixed later incrementally.
I agree with
On Fri, Jul 11, 2014 at 09:47:33PM +0200, Markus Teich wrote:
I disagree. Well designed code is also depending on well designed data
structures. Data structures, especially core functionality ones, are not
easily
changed or even replaced by other ones in a later state of delelopment. They
I think I'm almost finished.
I'll add the last keybindings and I may add multiple mark support (ma goes to
mark a)
However I don't know what to do with selection.
I also fail to understand the way that sandy does select things. Can anyone
give me some light?
I was thinking ctrl+movement and
On Wed, Jul 09, 2014 at 05:00:45PM -0400, Carlos Torres wrote:
Hey Marc,
On Wed, Jul 9, 2014 at 4:42 PM, Marc André Tanner m...@brain-dump.org wrote:
On Wed, Jul 09, 2014 at 09:14:16PM +0200, Rafa Garcia Gallego wrote:
...this includes
a design based on piece tables rather than the
On Thu, Jul 10, 2014 at 11:08:49AM +0300, Dimitris Zervas wrote:
I also fail to understand the way that sandy does select things.
Can anyone give me some light?
I was thinking ctrl+movement and ctrl+adjective to select things,
but it will not be that efficient, will it?
Maybe I did not
On Thu, Jul 10, 2014 at 1:56 AM, Dimitris Zervas dzer...@dzervas.gr wrote:
Also it would be nice if the actual text editing
component
would be clearly separated out, such that different editor frontends
can be implemented easily.
Well, this is much easier implemented in OOP languages (which I
On July 10, 2014 12:11:59 PM EEST, Teodoro Santoni asbras...@gmail.com wrote:
On Thu, Jul 10, 2014 at 11:08:49AM +0300, Dimitris Zervas wrote:
I also fail to understand the way that sandy does select things.
Can anyone give me some light?
I was thinking ctrl+movement and ctrl+adjective to
On Thu, Jul 10, 2014 at 11:52 AM, Raphaël Proust raphla...@gmail.com wrote:
On Thu, Jul 10, 2014 at 1:56 AM, Dimitris Zervas dzer...@dzervas.gr wrote:
Also it would be nice if the actual text editing
component
would be clearly separated out, such that different editor frontends
can be implemented
On Thu, Jul 10, 2014 at 02:34:02PM +0300, Dimitris Zervas wrote:
Spacebar). What about the introduction of v(isual), then movement, then
verb
for doing something?
Well, there already verbs for doing things with selections (copy, delete,
etc).
But, you suggest adding shift/ctrl/regular
Heyho,
Silvan Jegen wrote:
Actually, I do not think you will need a real recursive parser. It should be
enough to use a finite state machine since you won't have any recursively
nested key bindings.
Yes, that should suffice.
I am not completely sure how to implement this but it sounds like
On July 10, 2014 3:22:07 PM EEST, Teodoro Santoni asbras...@gmail.com wrote:
On Thu, Jul 10, 2014 at 02:34:02PM +0300, Dimitris Zervas wrote:
Spacebar). What about the introduction of v(isual), then movement,
then
verb
for doing something?
Well, there already verbs for doing things with
And that's why visual and mouse button 1 button 2 are awesome!
--
Teodoro Santoni
On Thu, Jul 10, 2014 at 1:12 PM, Silvan Jegen s.je...@gmail.com wrote:
On Thu, Jul 10, 2014 at 11:52 AM, Raphaël Proust raphla...@gmail.com wrote:
On Thu, Jul 10, 2014 at 1:56 AM, Dimitris Zervas dzer...@dzervas.gr wrote:
The trick that Yi uses is quite clever and not very complicated:
On Thu, Jul 10, 2014 at 09:33:53AM -0700, Charlie Kester wrote:
The problem with linked lists of lines and piece tables has always been
achieving good locality of reference. Not a problem with buffer gap,
where locality was the main motivating factor behind the design.
In my experience, an
On July 10, 2014 11:21:43 PM EEST, Maxime Coste frrr...@gmail.com wrote:
On Thu, Jul 10, 2014 at 09:33:53AM -0700, Charlie Kester wrote:
The problem with linked lists of lines and piece tables has always
been
achieving good locality of reference. Not a problem with buffer gap,
where locality
I will agree that it's super easy to implement and understand and it covers
most needs.
But how about search?
Is it fast?
What about structural regular expressions as found in sam that aren't
limited to lines?
-emg
On July 10, 2014 11:29:59 PM EEST, Evan Gates evan.ga...@gmail.com wrote:
I will agree that it's super easy to implement and understand and it
covers most needs.
But how about search?
Is it fast?
What about structural regular expressions as found in sam that aren't
limited to lines?
-emg
Oh,
On Thu, Jul 10, 2014 at 11:45:07PM +0300, Dimitris Zervas wrote:
On July 10, 2014 11:29:59 PM EEST, Evan Gates evan.ga...@gmail.com wrote:
I will agree that it's super easy to implement and understand and it
covers most needs.
But how about search?
Is it fast?
What about structural
On Thu 10 Jul 2014 at 13:29:59 PDT Evan Gates wrote:
I will agree that it's super easy to implement and understand and it covers
most needs.
But how about search?
Is it fast?
What about structural regular expressions as found in sam that aren't
limited to lines?
Yes, one of the things I
On July 11, 2014 1:26:08 AM EEST, Maxime Coste frrr...@gmail.com wrote:
On Thu, Jul 10, 2014 at 11:45:07PM +0300, Dimitris Zervas wrote:
On July 10, 2014 11:29:59 PM EEST, Evan Gates evan.ga...@gmail.com
wrote:
I will agree that it's super easy to implement and understand and
it
covers most
On Fri, Jul 11, 2014 at 01:26:38AM +0300, Dimitris Zervas wrote:
But how are you going to deal with lines longer than the capacity of a line?
or buffers longer than the capacity of buffer?
You have to resize the buffer.
There are some clever ways to expand the buffer in O(sqrt(N))
extra space
On July 11, 2014 1:32:41 AM EEST, Dimitris Papastamos s...@2f30.org wrote:
On Fri, Jul 11, 2014 at 01:26:38AM +0300, Dimitris Zervas wrote:
But how are you going to deal with lines longer than the capacity of
a line? or buffers longer than the capacity of buffer?
You have to resize the buffer.
On Fri, Jul 11, 2014 at 01:43:16AM +0300, Dimitris Zervas wrote:
First of all, we haven't even agree in which data structure will we use.
Buffer gap, piece table, or pointer array?
If you want to tackle this, I'd go with whatever approach you feel most
comfortable with.
Try to keep it simple,
On Thu 10 Jul 2014 at 15:46:13 PDT Dimitris Papastamos wrote:
On Fri, Jul 11, 2014 at 01:43:16AM +0300, Dimitris Zervas wrote:
First of all, we haven't even agree in which data structure will we use.
Buffer gap, piece table, or pointer array?
If you want to tackle this, I'd go with whatever
On July 11, 2014 1:46:13 AM EEST, Dimitris Papastamos s...@2f30.org wrote:
On Fri, Jul 11, 2014 at 01:43:16AM +0300, Dimitris Zervas wrote:
First of all, we haven't even agree in which data structure will we
use.
Buffer gap, piece table, or pointer array?
If you want to tackle this, I'd go with
Another thing you can do is to only preallocate a fixed size buffer
and add to a list of buffers. Every time you cross block boundary, you alloc
a new buffer and attach it at the end of your list.
There are many ways to do this, I'd go for the simplest approach in terms of
code
On July 9, 2014 7:10:06 AM EEST, Andrew Hills ahi...@ednos.net wrote:
On 7/8/14, 8:27 PM, Dimitris Zervas wrote:
I know that some of you will really hate me about this, but I patched
sandy to have command and insert mode.
Actually, this was all that kept me from using sandy. (Well, I suppose
my
On 9 July 2014 07:34, Dimitris Zervas dzer...@dzervas.gr wrote:
On July 9, 2014 7:10:06 AM EEST, Andrew Hills ahi...@ednos.net wrote:
On 7/8/14, 8:27 PM, Dimitris Zervas wrote:
I know that some of you will really hate me about this, but I patched
sandy to have command and insert mode.
Actually,
Good work, I was surprised to see dmenu used, but seems to work well
with it. As a suggestion/alternative, ncurses supports status bars
which can also serve as the command bar (which would be useful over an
ssh session).
Yes, I also thought of it, but you lose precious space.
I may add a fallback
On Wed, Jul 9, 2014 at 9:50 AM, Dimitris Zervas dzer...@dzervas.gr wrote:
Good work, I was surprised to see dmenu used, but seems to work well
with it. As a suggestion/alternative, ncurses supports status bars
which can also serve as the command bar (which would be useful over an
ssh session).
Dimitris Zervas wrote:
I keep my branch at: http://git.dzervas.gr/sandy if anyone is interested.
Heyho,
$ git clone http://git.dzervas.gr/sandy
Cloning into 'sandy'...
fatal: unable to access 'http://git.dzervas.gr/sandy/': The requested URL
returned error: 500
I would like to try it out, was
On Wed, Jul 9, 2014 at 12:16 PM, Markus Teich
markus.te...@stusta.mhn.de wrote:
Dimitris Zervas wrote:
I keep my branch at: http://git.dzervas.gr/sandy if anyone is interested.
Heyho,
$ git clone http://git.dzervas.gr/sandy
Cloning into 'sandy'...
fatal: unable to access
On July 9, 2014 1:16:31 PM EEST, Markus Teich markus.te...@stusta.mhn.de
wrote:
Dimitris Zervas wrote:
I keep my branch at: http://git.dzervas.gr/sandy if anyone is
interested.
Heyho,
$ git clone http://git.dzervas.gr/sandy
Cloning into 'sandy'...
fatal: unable to access
On July 9, 2014 1:19:23 PM EEST, Silvan Jegen s.je...@gmail.com wrote:
On Wed, Jul 9, 2014 at 12:16 PM, Markus Teich
markus.te...@stusta.mhn.de wrote:
Dimitris Zervas wrote:
I keep my branch at: http://git.dzervas.gr/sandy if anyone is
interested.
Heyho,
$ git clone
Dimitris,
http://git.dzervas.gr/sandy/commit/?id=60777b454326ce3790fcaf530fe3fd73469b5605
config.h is generated by Makefile from config.def.h
you should put your changed in config.def.h instead, no?
then maybe Rafa can pull your changes into his mainline easier.
if he wants them :p
--Carlos
I just finished the sentence mode :)
Just like vim, you form sentences with key bindings. ex.: d$ means delete until
the eol.
As of now, I have only implemented d verb and $ and ^ adjective.
Please test them to find any bugs.
I'll almost every key of vim tomorrow.
On July 9, 2014 6:24:32 PM EEST, Carlos Torres vlaadbr...@gmail.com wrote:
Dimitris,
http://git.dzervas.gr/sandy/commit/?id=60777b454326ce3790fcaf530fe3fd73469b5605
config.h is generated by Makefile from config.def.h
you should put your changed in config.def.h instead, no?
then maybe Rafa can
True neovim over here ;)
Honestly though at least the implementation is a 100x cleaner.
I'm not a vi/m user anymore, nor tui fan, but keep up the work guys.
At least people will use software that sucks less.
On July 9, 2014 6:32:16 PM EEST, Lee Fallat ircsurfe...@gmail.com wrote:
True neovim over here ;)
Honestly though at least the implementation is a 100x cleaner.
I'm not a vi/m user anymore, nor tui fan, but keep up the work guys.
At least people will use software that sucks less.
Not just cleaner,
Hi Dimitris,
Thanks for working on sandy! I'm skimming over the changes and they
look promising. When you are done polishing, they would fit nicely
upstream.
In fact... does anyone use the default / non-modal sandy bindings on a
daily basis? I find they work nicely for simple edits or when
On July 9, 2014 10:14:16 PM EEST, Rafa Garcia Gallego
rafael.garcia.gall...@gmail.com wrote:
Hi Dimitris,
Thanks for working on sandy! I'm skimming over the changes and they
look promising. When you are done polishing, they would fit nicely
upstream.
In fact... does anyone use the default /
On Wed, Jul 9, 2014 at 10:22 PM, Dimitris Zervas dzer...@dzervas.gr wrote:
Yes! I was really worried about cancelling your precious work, but with 2
configs, we're happy :)
I am now working on multiplying commands (5x will delete 5 chars, etc) and
then I'll clean up and submit the final
On Wed, Jul 09, 2014 at 10:22:12PM +0300, Dimitris Zervas wrote:
On July 9, 2014 10:14:16 PM EEST, Rafa Garcia Gallego
rafael.garcia.gall...@gmail.com wrote:
Hi Dimitris,
Thanks for working on sandy! I'm skimming over the changes and they
look promising. When you are done polishing, they
On Wed, Jul 09, 2014 at 09:14:16PM +0200, Rafa Garcia Gallego wrote:
If suckless-vi ends up based on sandy I'll be as happy as a clam. I
don't have a lot of free time, but I'd be happy to help.
I'm actually also interested in a suckless-vi but for me this includes
a design based on piece tables
Hey Marc,
On Wed, Jul 9, 2014 at 4:42 PM, Marc André Tanner m...@brain-dump.org wrote:
On Wed, Jul 09, 2014 at 09:14:16PM +0200, Rafa Garcia Gallego wrote:
...this includes
a design based on piece tables rather than the double linked list approach
taken by sandy.
What are the performance
Dimitris Zervas wrote:
I am now working on multiplying commands (5x will delete 5 chars, etc) and
then I'll clean up and submit the final patches.
Heyho Dimitris,
please don't forget supporting the arrow keys and the six buttons above them.
I know they are very unreachable and therefore vim
If suckless-vi ends up based on sandy I'll be as happy as a clam. I
don't have a lot of free time, but I'd be happy to help.
I'm actually also interested in a suckless-vi but for me this
includes
a design based on piece tables rather than the double linked list
approach
taken by sandy.
What do
Yo
On Wed, Jul 9, 2014 at 5:00 PM, Carlos Torres vlaadbr...@gmail.com wrote:
Hey Marc,
On Wed, Jul 9, 2014 at 4:42 PM, Marc André Tanner m...@brain-dump.org wrote:
On Wed, Jul 09, 2014 at 09:14:16PM +0200, Rafa Garcia Gallego wrote:
...this includes
a design based on piece tables rather
On 9 July 2014 20:56, Dimitris Zervas dzer...@dzervas.gr wrote:
If suckless-vi ends up based on sandy I'll be as happy as a clam. I
don't have a lot of free time, but I'd be happy to help.
I'm actually also interested in a suckless-vi but for me this
includes
a design based on piece tables
I know that some of you will really hate me about this, but I patched sandy to
have command and insert mode.
More patches will follow with actual vim bindings (yank, paste, etc.) if I
don't get flamed :P
I'll work on them this week.
Can anyone help me read the escape key without the 1s delay?
On 7/8/14, 8:27 PM, Dimitris Zervas wrote:
I know that some of you will really hate me about this, but I patched sandy
to have command and insert mode.
Actually, this was all that kept me from using sandy. (Well, I suppose
my unwillingness to change my habits is what kept me...)
Please keep
69 matches
Mail list logo