3 Commits

Author SHA1 Message Date
Igor Shutrov
555299bcd1 cedit: remove extra lines
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 20s
Build system / Build (pull_request) Successful in 16m19s
2026-02-22 08:10:32 +00:00
Igor Shutrov
455e7ddbc1 cedit: add english shortcuts 2026-02-22 08:10:32 +00:00
Igor Shutrov
790282289e cedit: add Shift-Tab shortcut 2026-02-22 08:10:32 +00:00
7 changed files with 115 additions and 137 deletions

View File

@@ -66,21 +66,6 @@ to the end commit message body on a new line.
Use **rebase** to keep your branch up to date.
Despite this, commits from your branch can be **squashed** and merged into the main branch by **rebasing** if the changes do not require logical separation. Otherwise, it is entirely your responsibility to format the commits in your PR branch.
## Licensing
For new source code files and for existing ones without a license, you need to add the following header to the beginning of the file:
```asm
; SPDX-License-Identifier: GPL-2.0-only
; Program - Brief description.
; Copyright (C) 2011-2025 KolibriOS team
```
A brief description is only required for the main source file. The files included in it may not have a description.
Be careful when setting copyright and date interval. Review the file's history to verify its origin.
## Conclusion
We hope this small instructions will help you to get familiar with KolibriOS contribution rules and inspire you to participate in the life of our project.

View File

@@ -1,6 +1,6 @@
# KolibriOS
[![License](https://img.shields.io/badge/License-GPL%202.0-green)](./LICENSE)
[![License](https://img.shields.io/badge/License-GPL%202.0-green)](./COPYING.TXT)
[![Build system](https://git.kolibrios.org/KolibriOS/kolibrios/actions/workflows/build.yaml/badge.svg)](https://git.kolibrios.org/KolibriOS/kolibrios/actions)
KolibriOS is a hobby operating system for x86-compatible computers, which is currently being developed by a small but passionate team of enthusiasts.

View File

@@ -0,0 +1,54 @@
Keyboard Shortcuts:
ctrl+A Select all
ctrl+C Copy
ctrl+V Paste
ctrl+X Cut
ctrl+L Convert to lowercase
ctrl+U Convert to uppercase
ctrl+F,
ctrl+H Show search/replace panel
Esc Close search panel; Close menu
shift+Esc Hide (Minimize) search panel
F10 Open main menu
shift+F10 Open context menu
F3 Find next
shift+F3 Find previous
ctrl+Z Undo
ctrl+Y Redo
ctrl+G Go to line...
ctrl+Del Delete line
ctrl+D Duplicate line
ctrl+Up Move text up
ctrl+Down Move text down
ctrl+E Select word
Tab Increase indent for selected text
shift+Backspace,
shift+Tab Decrease indent for selected text
ctrl+F2 Set/Remove bookmark
F2 Go to next bookmark
shift+F2 Go to previous bookmark
ctrl+S Save
ctrl+O Open
ctrl+N,
ctrl+T Create new
ctrl+W Close File
ctrl+Tab Switch to Next Tab
ctrl+F9 Compile
F9 Run
ctrl+F8 Debug
shift+wheel Horizontal scrolling
Navigating text:
(ctrl+)Home, (ctrl+)End, (ctrl+)PageUp, (ctrl+)PageDown
ctrl+Left, ctrl+Right
Navigating in search panel:
Tab Move to next input field
shift+Tab Move to previous input field
Enter Find next occurrence

View File

@@ -1,55 +1,54 @@
Горячие клавиши:
ctrl+A выделить всё
ctrl+C копировать
ctrl+V вставить
ctrl+X вырезать
ctrl+L преобразовать в нижний регистр
ctrl+U преобразовать в верхний регистр
ctrl+F,
ctrl+H показать панель поиска/замены
Esc закрыть панель поиска; закрыть меню
shift+Esc скрыть (свернуть) панель поиска
F10 открыть главное меню
shift+F10 открыть контекстное меню
F3 найти следующий
shift+F3 найти предыдущий
ctrl+Z отменить
ctrl+Y вернуть
ctrl+G перейти на строку...
ctrl+Del удалить строку
ctrl+D дублировать строку
ctrl+Up переместить текст вверх
ctrl+Down переместить текст вниз
ctrl+E выделить слово
Tab увеличить отступ для выделенного текста
shift+
Backspace уменьшить отступ для выделенного текста
ctrl+F2 установить/снять метку
F2 перейти к метке ниже
shift+F2 перейти к метке выше
ctrl+S сохранить
ctrl+O открыть
ctrl+N,
ctrl+T создать новый
ctrl+W закрыть файл
ctrl+Tab переключиться на следующую вкладку
ctrl+F9 компилировать
F9 выполнить
ctrl+F8 отладка
shift+wheel горизонтальная прокрутка
перемещение по тексту:
(ctrl+)Home, (ctrl+)End, (ctrl+)PageUp, (ctrl+)PageDown
ctrl+Left, ctrl+Right
перемещение в панели поиска:
Tab к следующему полю ввода
Shift-Tab к предыдущему полю ввода
Enter поиск следующего вхождения
Горячие клавиши:
ctrl+A выделить всё
ctrl+C копировать
ctrl+V вставить
ctrl+X вырезать
ctrl+L преобразовать в нижний регистр
ctrl+U преобразовать в верхний регистр
ctrl+F,
ctrl+H показать панель поиска/замены
Esc закрыть панель поиска; закрыть меню
shift+Esc скрыть (свернуть) панель поиска
F10 открыть главное меню
shift+F10 открыть контекстное меню
F3 найти следующий
shift+F3 найти предыдущий
ctrl+Z отменить
ctrl+Y вернуть
ctrl+G перейти на строку...
ctrl+Del удалить строку
ctrl+D дублировать строку
ctrl+Up переместить текст вверх
ctrl+Down переместить текст вниз
ctrl+E выделить слово
Tab увеличить отступ для выделенного текста
shift+Backspace,
shift+Tab уменьшить отступ для выделенного текста
ctrl+F2 установить/снять метку
F2 перейти к метке ниже
shift+F2 перейти к метке выше
ctrl+S сохранить
ctrl+O открыть
ctrl+N,
ctrl+T создать новый
ctrl+W закрыть файл
ctrl+Tab переключиться на следующую вкладку
ctrl+F9 компилировать
F9 выполнить
ctrl+F8 отладка
shift+wheel горизонтальная прокрутка
перемещение по тексту:
(ctrl+)Home, (ctrl+)End, (ctrl+)PageUp, (ctrl+)PageDown
ctrl+Left, ctrl+Right
перемещение в панели поиска:
Tab к следующему полю ввода
Shift-Tab к предыдущему полю ввода
Enter поиск следующего вхождения

View File

@@ -28,7 +28,7 @@ IMPORT
RW, Ini, EB := EditBox, Tabs, Toolbar, SB := StatusBar;
CONST
HEADER = "CEdit (11-jan-2026)";
HEADER = "CEdit (25-jan-2026)";
ShellFilter = "";
EditFilter = "sh|inc|txt|asm|ob07|c|cpp|h|pas|pp|lua|ini|json";
@@ -1686,6 +1686,8 @@ BEGIN
ELSE
IF keyCode = -1 THEN
key := -1
ELSIF (keyCode = 15) & shift THEN (* Shift-Tab *)
T.Indent(text, FALSE)
ELSIF keyCode = 61 THEN (* F3 *)
key := -1;
IF search & (searchText # "") THEN
@@ -1755,7 +1757,7 @@ BEGIN
ELSE
SetFocus(ReplaceEdit, TRUE)
END
ELSIF keyCode = 28 THEN (* Enter *)
ELSIF keyCode = 28 THEN (* Enter *)
IF searchOpened & (searchText # "") THEN
notFound := ~T.findNext(text, BKW.value)
END
@@ -1774,7 +1776,7 @@ BEGIN
ELSE
SetFocus(GotoEdit, TRUE)
END
ELSIF keyCode = 28 THEN (* Enter *)
ELSIF keyCode = 28 THEN (* Enter *)
IF searchOpened & (searchText # "") THEN
notFound := ~T.findNext(text, BKW.value)
END

View File

@@ -86,7 +86,7 @@ commands: ; all commands must be in uppercase
dd 'CWD', login_first, login_first, login_first, cmdCWD
dd 'XCWD', login_first, login_first, login_first, cmdCWD
dd 'DELE', login_first, login_first, login_first, cmdDELE
dd 'HELP', login_first, login_first, login_first, cmdHELP
; dd 'HELP', login_first, login_first, login_first, cmd_HELP
dd 'LIST', login_first, login_first, login_first, cmdLIST
; dd 'MDTM', login_first, login_first, login_first, cmd_MDTM
; dd 'MKD', login_first, login_first, login_first, cmd_MKD
@@ -1247,68 +1247,6 @@ cmdTYPE:
sendFTP "200 Command ok"
ret
;------------------------------------------------
; "HELP"
;
; Provide help information.
;
;------------------------------------------------
align 4
cmdHELP:
lea edi, [ebp + thread_data.buffer]
mov eax, '214 '
stosd
mov eax, 'Help'
stosd
mov ax, ': '
stosw
mov esi, commands ; pointer to commands table
.next_command:
cmp byte [esi], 0 ; end of table?
je .list_done
; Copy command name (4 bytes), skip null bytes
mov ecx, 4
.copy_name:
mov al, [esi]
test al, al
jz .skip_null
stosb
.skip_null:
inc esi
loop .copy_name
; Add space after command name
mov al, ' '
stosb
; Skip the four address pointers (16 bytes)
add esi, 16
jmp .next_command
.list_done:
; Remove trailing space (if any)
dec edi
; Add CRLF
mov ax, 0x0a0d ; \r\n
stosw
xor al, al ; null terminator
stosb
; Calculate length
lea edx, [ebp + thread_data.buffer]
sub edi, edx
; Send response
mcall send, [ebp + thread_data.socketnum], edx, edi
; Also log to console
invoke con_write_asciiz, edx
ret
;------------------------------------------------
; "USER"
;