TempleOSCD_140715.ISO
This commit is contained in:
1 parent
7ef616a20e
commit
64f679eeb9
1095 files changed
+24814
-221011
No files matched your search
+26
-28
@@ -10,11 +10,11 @@ U0 EdLiteUpdate(CLine *root,CLine *cur_line,I64 cur_col,I64 line_start_col)
|
||||
U8 *st;
|
||||
CLine *templ=cur_line;
|
||||
Bool done_eof=FALSE;
|
||||
sys_raw_col=0;
|
||||
for (i=0;i<text_rows/2;i++)
|
||||
text.raw_col=0;
|
||||
for (i=0;i<text.rows/2;i++)
|
||||
if (templ->last!=root)
|
||||
templ=templ->last;
|
||||
for (i=0;i<text_rows;i++) {
|
||||
for (i=0;i<text.rows;i++) {
|
||||
if (cursor_row<0 && templ==cur_line) {
|
||||
k=0;
|
||||
for (j=0;j<cur_col;j++)
|
||||
@@ -34,46 +34,44 @@ U0 EdLiteUpdate(CLine *root,CLine *cur_line,I64 cur_col,I64 line_start_col)
|
||||
k2=(k+8)&~7;
|
||||
else
|
||||
k2=k+1;
|
||||
if (line_start_col<=k<line_start_col+text_cols) {
|
||||
if (line_start_col<=k<line_start_col+text.cols) {
|
||||
'' ch;
|
||||
j=k2-line_start_col;
|
||||
}
|
||||
k=k2;
|
||||
}
|
||||
if (j<text_cols)
|
||||
NewLine;
|
||||
if (j<text.cols)
|
||||
'\n';
|
||||
templ=templ->next;
|
||||
} else {
|
||||
if (!done_eof) {
|
||||
"<EOF>";
|
||||
done_eof=TRUE;
|
||||
}
|
||||
NewLine;
|
||||
'\n';
|
||||
}
|
||||
}
|
||||
sys_raw_col=text_cols*cursor_row+cursor_col-line_start_col;
|
||||
text.raw_col=text.cols*cursor_row+cursor_col-line_start_col;
|
||||
RawPutChar(0x7F);
|
||||
}
|
||||
|
||||
|
||||
U0 EdLite(U8 *filename,I64 num=1)
|
||||
{
|
||||
//Light weight text editor for debugging
|
||||
{//Light weight text editor for debugging.
|
||||
U8 *src,*src2,*src3,*dst,*buf,*bin_data=NULL;
|
||||
I64 i,cnt=0,ch,sc,size,bin_size=0,line_start_col=0,cur_col=0,
|
||||
old_raw_flags=sys_raw_flags;
|
||||
old_raw_flags=text.raw_flags;
|
||||
CLine root,*templ,*templ1,*cur_line;
|
||||
Bool old_raw=Raw(ON),
|
||||
old_debug=InDbg(ON),
|
||||
old_single=SingleUser(ON);
|
||||
|
||||
if (!filename) filename=sys_temp_filename;
|
||||
if (!filename) filename=dsk.temp_filename;
|
||||
buf=FileRead(filename,&size);
|
||||
|
||||
PUSHFD
|
||||
CLI
|
||||
sys_raw_flags=sys_raw_flags&~RWF_SCROLL|RWF_SHOW_DOLLAR;
|
||||
sys_cur_scan_code=0;
|
||||
text.raw_flags=text.raw_flags&~RWF_SCROLL|RWF_SHOW_DOLLAR;
|
||||
kbd.scan_code=0;
|
||||
QueInit(&root);
|
||||
root.line=StrNew("");
|
||||
|
||||
@@ -120,7 +118,7 @@ U0 EdLite(U8 *filename,I64 num=1)
|
||||
cur_col=0;
|
||||
while (cur_col-line_start_col<0)
|
||||
line_start_col-=8;
|
||||
while (cur_col-line_start_col>=text_cols)
|
||||
while (cur_col-line_start_col>=text.cols)
|
||||
line_start_col+=8;
|
||||
EdLiteUpdate(&root,cur_line,cur_col,line_start_col);
|
||||
switch (ch=GetKey(&sc,FALSE,TRUE)) {
|
||||
@@ -161,7 +159,7 @@ U0 EdLite(U8 *filename,I64 num=1)
|
||||
}
|
||||
break;
|
||||
case SC_PAGE_UP:
|
||||
for (i=1;i<text_rows;i++) {
|
||||
for (i=1;i<text.rows;i++) {
|
||||
if (cur_line->last!=&root)
|
||||
cur_line=cur_line->last;
|
||||
if (cur_col>StrLen(cur_line->line))
|
||||
@@ -169,7 +167,7 @@ U0 EdLite(U8 *filename,I64 num=1)
|
||||
}
|
||||
break;
|
||||
case SC_PAGE_DOWN:
|
||||
for (i=1;i<text_rows;i++) {
|
||||
for (i=1;i<text.rows;i++) {
|
||||
if (cur_line!=&root)
|
||||
cur_line=cur_line->next;
|
||||
if (cur_col>StrLen(cur_line->line))
|
||||
@@ -180,7 +178,7 @@ U0 EdLite(U8 *filename,I64 num=1)
|
||||
if (cur_col==StrLen(cur_line->line)) {
|
||||
templ=cur_line->next;
|
||||
if (cur_line!=&root && templ!=&root) {
|
||||
src=MPrint("%s%s",cur_line->line,templ->line);
|
||||
src=MStrPrint("%s%s",cur_line->line,templ->line);
|
||||
Free(cur_line->line);
|
||||
Free(templ->line);
|
||||
cur_line->line=src;
|
||||
@@ -207,7 +205,7 @@ U0 EdLite(U8 *filename,I64 num=1)
|
||||
cur_col--;
|
||||
} else if (cur_line!=&root && cur_line->last!=&root) {
|
||||
templ=cur_line->last;
|
||||
src=MPrint("%s%s",templ->line,cur_line->line);
|
||||
src=MStrPrint("%s%s",templ->line,cur_line->line);
|
||||
cur_col=StrLen(templ->line);
|
||||
Free(cur_line->line);
|
||||
Free(templ->line);
|
||||
@@ -285,18 +283,18 @@ U0 EdLite(U8 *filename,I64 num=1)
|
||||
Raw(old_raw);
|
||||
InDbg(old_debug);
|
||||
SingleUser(old_single);
|
||||
sys_raw_flags=sys_raw_flags&~RWF_SHOW_DOLLAR|old_raw_flags&RWF_SHOW_DOLLAR;
|
||||
text.raw_flags=text.raw_flags&~RWF_SHOW_DOLLAR|old_raw_flags&RWF_SHOW_DOLLAR;
|
||||
POPFD
|
||||
}
|
||||
|
||||
U0 ToFileLine(U8 *_fl_file_line,U8 **_filename,I64 *_linenum)
|
||||
{
|
||||
{//"FI:D:/Dir/File.CPP,123" to "D:/Dir/File.CPP" and 123.
|
||||
U8 *st,*fl_file_line=StrNew(_fl_file_line);
|
||||
I64 linenum;
|
||||
StrFirstRem(fl_file_line,":");
|
||||
st=StrNew(fl_file_line);
|
||||
StrLastRem(fl_file_line,",",st);
|
||||
linenum=A2I64(st);
|
||||
linenum=Str2I64(st);
|
||||
Free(st);
|
||||
*_filename=fl_file_line;
|
||||
*_linenum=linenum;
|
||||
@@ -313,21 +311,21 @@ U0 EdLiteFileLine(U8 *fl_file_line)
|
||||
|
||||
U0 SetFix(U8 *filename,I64 line)
|
||||
{//Compiler calls this to set file line for Fix
|
||||
U8 *st=MPrint("FL:%s,%d",filename,line);
|
||||
U8 *st=MStrPrint("FL:%s,%d",filename,line);
|
||||
while (LBts(&sys_semas[SYS_SEMA_FIX],0))
|
||||
Yield;
|
||||
Free(sys_fix_file_line);
|
||||
sys_fix_file_line=AStrNew(st);
|
||||
Free(dbg.fix_file_line);
|
||||
dbg.fix_file_line=AStrNew(st);
|
||||
LBtr(&sys_semas[SYS_SEMA_FIX],0);
|
||||
}
|
||||
|
||||
U0 Fix()
|
||||
{//Fix last compile err
|
||||
{//Jump to last err src code to fix it.
|
||||
U8 *st;
|
||||
|
||||
while (LBts(&sys_semas[SYS_SEMA_FIX],0))
|
||||
Yield;
|
||||
st=StrNew(sys_fix_file_line);
|
||||
st=StrNew(dbg.fix_file_line);
|
||||
LBtr(&sys_semas[SYS_SEMA_FIX],0);
|
||||
|
||||
if (st) {
|
||||
|
||||
Reference in new issue
Block a user