't_edit' add auto open syntax files (max 10 files)

git-svn-id: svn://kolibrios.org@2855 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA
2012-07-10 11:05:50 +00:00
parent 20e789a104
commit baa66d1a4c
4 changed files with 102 additions and 17 deletions

View File

@@ -27,7 +27,8 @@ run_file_70 FileInfoBlock
; al = <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> ; al = <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>
align 4 align 4
ted_on_init_synt_err: ted_on_init_synt_err:
mov byte[msgbox_3.err],al mov byte[msgbox_3.err],'0'
add byte[msgbox_3.err],al
stdcall [mb_create],msgbox_3,thread ;message: Can-t open color options file! stdcall [mb_create],msgbox_3,thread ;message: Can-t open color options file!
ret ret
@@ -117,8 +118,39 @@ ted_but_open_file:
mov [edit1.size],eax mov [edit1.size],eax
mov [edit1.pos],eax mov [edit1.pos],eax
stdcall [edit_box_draw], edit1 stdcall [edit_box_draw], edit1
;<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ᢥ⪨ <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
mov edx,[edit1.text]
add edx,eax
.f_beg:
cmp byte[edx],'.'
je .found
dec edx
cmp edx,[edit1.text]
jg .f_beg
.found:
inc edx ;edx - <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
mov ebx,synt_auto_open
.cycle_0:
add ebx,32
stdcall strcmp,ebx,edx ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> ini <EFBFBD><EFBFBD>
test eax,eax
jz .ok
add ebx,32
cmp byte[ebx],0
jne .cycle_0
jmp .end_0
.ok: ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ᢥ⪨ <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sub ebx,32
;mov ecx,ebx
;mcall 71,1
call open_unpac_synt_file
.end_0:
stdcall [ted_open_file], tedit0,run_file_70,[edit1.text] stdcall [ted_open_file], tedit0,run_file_70,[edit1.text]
call ted_messages_after_open_file call ted_messages_after_open_file
.ret_f: .ret_f:
popad popad
ret ret
@@ -154,7 +186,6 @@ endp
;input: ;input:
; eax = <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> ; eax = <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>
; ebx = <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ; ebx = <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; edi = pointer to tedit struct
align 4 align 4
ted_messages_after_open_file: ted_messages_after_open_file:
push ecx edi push ecx edi
@@ -202,9 +233,6 @@ proc ted_but_open_syntax uses eax ebx ecx edi, edit:dword
stdcall dword[tl_node_get_data], tree1 stdcall dword[tl_node_get_data], tree1
pop dword[fn_col_option] pop dword[fn_col_option]
mov ebx,dword[fn_col_option] mov ebx,dword[fn_col_option]
copy_path ebx,fn_syntax_dir,file_name_rez,0x0
copy_path file_name_rez,sys_path,file_name,0x0
call open_unpac_synt_file call open_unpac_synt_file
cmp ebx,-1 cmp ebx,-1
je @f je @f
@@ -216,11 +244,27 @@ proc ted_but_open_syntax uses eax ebx ecx edi, edit:dword
endp endp
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ᢥ⪨ ᨭ⠪<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ᢥ⪨ ᨭ⠪<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;input:
; ebx - <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ᨭ⠪<EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> info)
;output: ;output:
; ebx - <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ; ebx - <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
; ecx - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
align 4 align 4
open_unpac_synt_file: open_unpac_synt_file:
push eax edi esi push eax edi esi
mov edi,last_open_synt_file
stdcall strcmp,ebx,edi ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>
test eax,eax
jz @f
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> (<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
mov esi,ebx
mov ecx,32
cld
rep movsb
copy_path ebx,fn_syntax_dir,file_name_rez,0
copy_path file_name_rez,sys_path,file_name,0
mov edi, tedit0 mov edi, tedit0
mov [run_file_70.Function], 0 mov [run_file_70.Function], 0
mov [run_file_70.Position], 0 mov [run_file_70.Position], 0

View File

@@ -21,10 +21,19 @@ key_symbol_w db 'symbol_w',0
key_symbol_h db 'symbol_h',0 key_symbol_h db 'symbol_h',0
key_scroll_type db 'scroll_type',0 key_scroll_type db 'scroll_type',0
ini_sec_options db 'Options',0 ini_sec_options db 'Options',0
key_synt_file:
db 'syntax_'
.numb: db '0',0
key_synt_ext:
db 'ext_'
.numb: db '0',0
ini_def_synt_f db 0
align 4 align 4
wnd_s_pos: ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> max_synt_auto_open equ 10
rq 0 synt_auto_open:
rb 64*max_synt_auto_open
db 0
system_dir_0 db '/sys/lib/' system_dir_0 db '/sys/lib/'
lib_name_0 db 'box_lib.obj',0 lib_name_0 db 'box_lib.obj',0
@@ -488,7 +497,6 @@ tedit0: ;
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
conv_tabl rb 128 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> scan-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> ascii-<EFBFBD><EFBFBD><EFBFBD> conv_tabl rb 128 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> scan-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> ascii-<EFBFBD><EFBFBD><EFBFBD>
buf db BUF_SIZE dup(0)
el_focus dd 0 el_focus dd 0
mouse_dd dd 0 mouse_dd dd 0
@@ -504,11 +512,9 @@ tree_file_struct:
db 0 db 0
dd file_name ;sys_path dd file_name ;sys_path
dir_mem rb 32+304*count_of_dir_list_files
if lang eq ru if lang eq ru
hed db '<27><><EFBFBD><EFBFBD><EFBFBD><E2AEA2><><E0A5A4><EFBFBD><EFBFBD><EFBFBD> 05.07.12',0 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> hed db '<27><><EFBFBD><EFBFBD><EFBFBD><E2AEA2><><E0A5A4><EFBFBD><EFBFBD><EFBFBD> 10.07.12',0 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
menu_text_area: menu_text_area:
db '<27><><EFBFBD><EFBFBD>',0 db '<27><><EFBFBD><EFBFBD>',0
@@ -626,7 +632,7 @@ txtFormatApply db '
else else
hed db 'Text editor 05.07.12',0 hed db 'Text editor 10.07.12',0
menu_text_area: menu_text_area:
db 'File',0 db 'File',0

View File

@@ -168,7 +168,7 @@ mov ecx,ebx
.end_dir_init: .end_dir_init:
;--- load ini file --- ;--- load ini file ---
copy_path ini_name,sys_path,file_name,0x0 copy_path ini_name,sys_path,file_name,0
;window startup pozition ;window startup pozition
stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_l,ini_def_window_l stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_l,ini_def_window_l
mov word[wnd_s_pos+2],ax mov word[wnd_s_pos+2],ax
@@ -190,11 +190,27 @@ mov ecx,ebx
mov dword[tedit0.rec.height],eax mov dword[tedit0.rec.height],eax
lea eax,[eax+eax*2] lea eax,[eax+eax*2]
mov dword[tedit0.rec.top],eax mov dword[tedit0.rec.top],eax
;䠩<><E4A0A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A5AD>
xor edx,edx
mov ebx,synt_auto_open
@@:
;<3B><><20><><EFBFBD><><E4A0A9>
stdcall dword[ini_get_str],file_name,ini_sec_options,key_synt_file,ebx,32,ini_def_synt_f
cmp byte[ebx],0
je @f
inc byte[key_synt_file.numb]
add ebx,32
;<3B><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A5AD>
stdcall dword[ini_get_str],file_name,ini_sec_options,key_synt_ext,ebx,32,ini_def_synt_f
inc byte[key_synt_ext.numb]
add ebx,32
inc edx
cmp edx,max_synt_auto_open
jl @b
@@:
;--- load color option file --- ;--- load color option file ---
mov ebx,dword[fn_col_option] mov ebx,dword[fn_col_option]
copy_path ebx,fn_syntax_dir,file_name_rez,0x0
copy_path file_name_rez,sys_path,file_name,0x0
call open_unpac_synt_file call open_unpac_synt_file
;--- get cmd line --- ;--- get cmd line ---
@@ -509,7 +525,6 @@ edit1 edit_box 250, 220, 5, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 4090, open
edit2 edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_find, mouse_dd, 0 edit2 edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_find, mouse_dd, 0
unpac_mem dd 0 unpac_mem dd 0
buf_find db 302 dup(0)
if lang eq ru if lang eq ru
head_f_i: head_f_i:
@@ -555,6 +570,12 @@ load_lib_end:
IncludeIGlobals IncludeIGlobals
i_end: i_end:
dir_mem rb 32+304*count_of_dir_list_files
wnd_s_pos: ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD>
rq 1
last_open_synt_file rb 32 ;<3B><><EFBFBD> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7A5AD><EFBFBD><EFBFBD><><E4A0A9> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>
buf rb BUF_SIZE ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E2A0A2>
buf_find rb 302 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>᪠ ⥪<><E2A5AA><EFBFBD>
IncludeUGlobals IncludeUGlobals
rb 1024 rb 1024
align 16 align 16

View File

@@ -7,3 +7,17 @@ symbol_w=7
symbol_h=11 symbol_h=11
scroll_type=0 scroll_type=0
[Options] [Options]
syntax_0=asm.syn
ext_0=asm
syntax_1=cpp_kol_dar.syn
ext_1=cpp
syntax_2=html.syn
ext_2=htm
syntax_3=ini_files.syn
ext_3=ini
syntax_4=asm.syn
ext_4=inc
syntax_5=cpp_kol_dar.syn
ext_5=h
syntax_6=html.syn
ext_6=html