nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit 1e9183fe31a68d867635398992479f5b482518b1
parent 46055b2543dd0a2609492ee055b44b6381654b72
Author: Adam Rogoyski <rogoyski@cs.utexas.edu>
Date:   Tue, 13 Mar 2001 18:36:03 +0000

   Add auto indenting of wrapped lines which should be indented.  Also fix
total file size (totsize) when auto indenting.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@557 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

Diffstat:
Mnano.c | 23++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/nano.c b/nano.c @@ -586,6 +586,7 @@ int do_enter(filestruct * inptr) extra++; spc++; current_x++; + totsize++; } new->data = nmalloc(strlen(tmp) + extra + 1); strncpy(new->data, current->data, extra); @@ -911,6 +912,7 @@ void do_wrap(filestruct * inptr, char input_char) } /* Else we start a new line. */ else { + temp->prev = inptr; temp->next = inptr->next; @@ -922,6 +924,25 @@ void do_wrap(filestruct * inptr, char input_char) filebot = temp; SET(SAMELINEWRAP); + + if (ISSET(AUTOINDENT)) { + char *spc = inptr->data; + char *t = NULL; + int extra = 0; + if (spc) { + while ((*spc == ' ') || (*spc == '\t')) { + extra++; + spc++; + right++; + totsize++; + } + t = nmalloc(strlen(temp->data) + extra + 1); + strncpy(t, inptr->data, extra); + strcpy(t + extra, temp->data); + free(temp->data); + temp->data = t; + } + } } @@ -929,7 +950,7 @@ void do_wrap(filestruct * inptr, char input_char) /* Everything about it makes me want this line here but it causes * totsize to be high by one for some reason. Sigh. (Rob) */ /* totsize++; */ - + renumber(inptr); edit_update(edittop, TOP);