Compare commits

..

9 Commits

7 changed files with 566 additions and 389 deletions

2
.gitignore vendored
View File

@ -4,3 +4,5 @@ debian/update-desktop-database
debian/projman.substvars
debian/files
debian/projman.debhelper.log
debian/*.tmp
*.tmp

434
CHANGELOG
View File

@ -1,138 +1,350 @@
######################################################
# Tcl/Tk Project manager 2.0
# Distributed under GNU Public License
# Author: Sergey Kalinin svk@nuk-svl.ru
# Home page: https://nuk-svk.ru
######################################################
projman (2.0.0-alfa16)
20/06/2022
- Beginning the project
Sergey Kalinin <svk@nuk-svk.ru> Thu, 22 Aug 2024 15:09:19 +0300
- changelog-gen.tcl: Добавлена генерация текстового журнала изменений
- build-deb-projman.sh: добавлена генерация changelog из git log
- changelog-gen.tcl: Вывод в файл вынесен в отдельную процедуру
- changelog-gen.tcl: Добавлено создание резервной копии выходного файла. Исправлен вывод в файл.
- changelog-gen.tcl: Добавлены опции командной строки
- Добавлен запуск changelog-gen при сборке пакета
- Добавлено чстение журнала начиная с определенной даты
- Новая сборка
13/07/2022
- Added open file dialog
- Added open folder dialog
- Added save file function
- Added a command line argument support (open file(s) or folder(s))
- Added TCL and BASH highlite
- Added a configuration file (progman.ini) and a procedure for reading/saving them
Sergey Kalinin <svkalinin@samsonpost.ru> Tue, 20 Aug 2024 13:30:43 +0300
- Генерация списка изменений для debian приведена к корректному виду
- Генерация списка изменений для debian приведена к корректному виду
- Исправлен фокус при создании нового файла. #3
14/07/2022
- Added On/Off viewing toolbar
- Added On/Off viewing line numbers bar
- Added a Comment/Uncomment text support
- Added text auto format
Калинин Сергей Валерьевич <svkalinin@samsonpost.ru> Wed, 17 Jul 2024 12:28:30 +0300
- Исправлена неправильная замена выражение при поиске
- Исправлена неправильная замена выражение при поиске
- Реализовал базовые функции генератора журнала изменений
15/07/2022
- Added a close file (tab) function with Ctrl+w
- Added a insert/remove the tabspace
- Fixed comment/uncomment selected text
svk <svkalinin@samsonpost.ru> Mon, 24 Jun 2024 10:15:38 +0300
- Добавлена иконка для jinja template
- Исправил остатки слияния веток
- Исправлено некорректное определение типа файла при открытии.
20/07/2022
- Fixed indent text
- Fixed insert " and '
- Added a main window geometry option into config, and autosave current geometry
<svk@nuk-svk.ru> Mon, 30 Oct 2023 09:46:02 +0300
- Gitea actions add
21/07/2022
- Added Save file dialog before tab was closed
- Added Save file dialog when exiting, if file was modify
svk <svkalinin@samsonpost.ru> Thu, 27 Jul 2023 13:04:32 +0300
- Merge branch 'master' of https://git.nuk-svk.ru/svk/projman
- Исправил открытие файлов с разными путями (~/ ./ ../)
22/07/2022
- Added GO highlight
svkalinin <svk@nuk-svk.ru> Thu, 23 Feb 2023 13:46:56 +0300
- Добавил изображений программы
27/07/2022
- Fixed comment/uncomment procedure (last line in selected text)
- Fixed error with save new (untitled) file
svk <svkalinin@samsonpost.ru> Mon, 6 Feb 2023 09:27:38 +0300
- Исправлена ошибка при создании нового файла.
01/08/2022
- Added inserting base64 encoded image
- Added read the file structure and inserting into tree
- Added GUI font, and GUI foreground color setting
- Added tcl and go files images
- Added image for file type (extention)
svk <svkalinin@samsonpost.ru> Wed, 21 Dec 2022 16:53:44 +0300
- Добавил пиктограммы файлов
- Исправил процедуру Files::CloseAll ('Закрыть всё')
- Добавлена поддержка Lua
- Исправлена процедура (рас)комментирования
- Исправил ошибку при выходе в процедуре (Congig::Write)
- Добавил раскраски в ruby
- Добавлена возможность многострочных комментариев
- В Ruby lexer добавлен поиск переменных коде.
- Новая сборка
- Немного почистил. Добавлен поиск переменных по питоньим исходникам (lexer)
- Еще одно исправление подсветки для INI
- Новая сборка
- Исправлене подсветки комментариев в INI
- Новая сборка
- Изменения в подсветке для INI
- Добавил подсветку для Desktop и Spec файлов
- Добавил вывод отладочной инфы в процедуру
- Исправил подсветку комментариев в TCL
- Оптимизация процедур
- Добавлена подсветка и навигация по HTML. Исправлена подсветка XML
- Новая сборка
- Добавил иконку для изображений
- Добавил иконки для perl
- Исправлена подсветка и навигация по коду для Ruby
- Обновил список изменений
- Исправлено сохранение сессии в редакторе (открытие папки и файлов при следующем запуске)
- Добавлена новая секция UserSession
- Исправление ошибки при открытии файла
- Добавлена поддержка INI-файлов (подсветка
- Добавлена поддержка perl
- Добавил икогнку для файлов git
- Новая сборка
- Добавлены иконуи для ключей и сертификатов. Изменен поиск иконки (вощзвращает теерь с размером)
- Новая чборка
- Реализован двухпанельный режим работы (вертиикальное разделение)
- ДОбавил сборку в drone
- Исправлена ошибка при открытии ansible.cfg
- Добавил деактивацию кнопки 'Создать репу' если не выбран активный проект (не открыто ни одного каталога/папки)
- Добавлены команды git init и git config (зачаток). Изменен диалог клонирования репозитория (добавлена кнопка Создать репозиторий)
- Исправил ошибку git при открытии файла или каталога если репозиторий не инициализирован (нет .git каталога внутри проекта)
- Переименовал файл
- Добавил скриты сборки rpm
- Добавлено обрамление выделенного текста прии нажатии '_' в markdown
- Исправление подсветки
- Добавлена поддержка markdown (подсветка
- Обновил описание
- Новая сборка
- Исправлена ошибка с закрытием файлов в редакторе при закрытии папки
- Новая сборка
- Переделана процедура определения активного проекта. Исправлено определение ветки git. Теперь можно нормально работать в двух и более открытых проектах (каталогах/папках)
- Новая сборка
- Доделан вид диалога поиска по файлам
- Исправлен поиск имени функции
- Новая сборка
- Добавлен диалог клонирования репозитория
- Добавил разделитель
- Исправлено переключение вкладок при закрытии
- Исправлено закрытиие вкладки Git по нажатию соотв. кнопки в панели инструментов
- Добавлен пункт 'Закрыть всё'
- Новая сборка
- Исправлено соответствие открытого файла в редакторе и выделение этого файла в дереве
- Исправлено переключение отображения панели (лево/право) в без перезапуска программы.
- Украшательства интерфейса - Реакция на нажатие кнопки в панели инструментов теперь зависит от контекста
- Добавлено включение отключение отображения Меню
- Добавлено копирование текущей строки в буфер по Atl+Y
- Исправлена ошибка с отображением файловой панели
- Добавлены и исправлены функции отображения меню
- Фикс
- Добавлен параметр statusBarShow - показ строки статуса
- Добавлены переводы
- Добавлена проверка параметров вызова файл или просто строка
- Новая сборка
- Добавлен вывод сообщений об ошибке в диалоге
- Добавлено обновления списка файлов в дереве
- Добавлена процедура вывода информационного сообщения
- Добавлена команда Git::Reset (git reset _file_) на кнопке в диалоге. Для отмены 'git add'
- Добавлена кнопка Обновление в диалог работы с Git
- Исправление процедуры поиска наименования функции
- Фиксы диалога работы с Git (работа с выделенными файлами в списках)
- Фиксы и тесты работы с git
- Исправление выборанескольких файлов в диалоге Git
- Новая сборка
- Украшательства
- Новая сборка
- Исправление рег. выражения чтения файлов командой git status
- Настройки темы
- Исправлено рег. выпражение определения mime типа файла
- Ntvs
- Новая сборка
- Добавил очистку текстовых полей при добавлении файлов в коммит
- Исправрелдение Git::Commit (индексация всех файлов в проекте)
- Изменения
- Исправления глюков
- Украшательства строки статуса
- Добавлен просмотрщик изображений
- Добавил рамку кону ввода номера
- Добавлен диалог перехода по номеру строки Ctrl-G
- Добавлено определение типа файла
- Новая сборка
- Добавил удаление артефактов сборки пакета
- Новая сборка
- Добавлена подсветка имен файлов в выводе git show
- Новая сборка
- Допилдивание процедуры автоввода имен переменных
- Небольшие правки в подсказках по переменным
- Новая сборка
- Исправлена подсветка SHELL переменных а YAML файлах (ansible
- Новая сборка. Добавлена подсказка по переменным при вводе.
- Добавлено определение символа переменной
- Определение коррректного положения встроенного окна
- Новая сборка
- Добавлен вывод подсказки при вводе переменных
- Добавлены опции для включсения полджсказок по переменным и процедурам
- Новая сборка
- Исправления гуя
- Добавил диалог создания и переключения git-веток
- Создание ветки
- Новые иконки
- Косметические изменения
- Починил push
- Добавлены новые иконки
- Обработка ошибок
- Новая сборка
- Исправлена ошибка при клике на списке с файлами
- New build
- Сделал просмотр изменений из истории
- Добавлено обновление лога изменений
- Новый билд
- Исправление обновления диалога
- Добавлен перевод
- git reflog
- Добавлен интерфейс работы с Git
- Новый релиз
- Исправил ошибку если нет изменений
- Начало работ по поддержке git
- New build
- Bug fix
- Добавлен диалог поиска строки в файлах в текущем каталоге. Используется 'grep -r'.
- Добавлены настройки для системной команды поиска в фвайлах
- Добавлено рекурсивное чтение каталога при открытии. Диалог поиска теперь работает раздельно при разделении окна. Диалог навигации по функци так-же работает раздельно
- Добавлены ключевые слова для подстветки питона
- Добавлена проверка на отсутствие файла и удаление из дерева
03/08/2022
- Added some files icon
- Fix finded procedure (function) (tree click)
- Fix showing position in statusbar
svkalinin <svk@nuk-svk.ru> Sun, 18 Sep 2022 10:46:59 +0300
- Добавлен поиск переменной в тексте после открытия файла где она указана
- Исправлена ошибка при запуске
12/08/2022
- Fixed comment/uncomment procedure depending on the file type
- Added About dialog
- Fixed read structure (procedure names like Proc:Name)
Sergey Kalinin <svkalinin@samsonpost.ru> Fri, 16 Sep 2022 16:37:17 +0300
- Новая сборка
- Исправил сохранение открытого каталога в настройках
- Рефакторинг
- Переделал дилог навигации по переменным
- Добавлен еще один каталог с переменными - default
- Добавлено сохранение состояния редактора (открытые каталоги
- Изменения в диалоге поиска
- Отображение горизонтальной полосы прокрутки в зависимости от переноса строк в редакторе
- Установка фокуса на текст в редакторе при щелчке на заголовок вкладки
- Сделал перемещение курсора в такуюже позицию в тексте при разделении окна редактора
- Добавлено горизонтальное разделение окна редактора. Исправлено удаление строки по Alt+R - реперь строка удаляется полностью вместе с символами переноса. Исправлено сохранение нового файла (untitled) но всеравно как-то криво.
- Изменения по чтению и отображению переменных по файлам. Причесал диалог
15/08/2022
- Added open/close braces highlight
- Fixed GO structure reader
Sergey Kalinin <svkalinin@samsonpost.ru> Fri, 2 Sep 2022 17:01:53 +0300
- Добавил поддержку ruby
- Исправлен выход окна со списком функций за пределы экрана. Поиск и замена теперь работает. Добавлены некоторые иконки для файлов
- Начало реализации процедуры поиска и замены (поиск криво но работает)
- Исправлено закерытие вкладки по щелчку мыши. Добавлена настройка переноса строк в редакторе. Добавлены сочетания клавиш ctrl+pgup cntrl+pgdown для переключения между вкладками редактора. Добавлен диалог закрытия папки (каталога)
- Укоротил имя корневого каталога в дереве
- Добавлены ключиевые слова GO
- Исправлена подсветка ключевых слов tcl и добавлены виджеты
- Исправлена некорректная установка иконки на каталог
- Добавлены горячие клавиши для удаления слова
- Добавлены сочетания клавиш для удаления слова
16/08/2022
- Added selection of all words in the text by clicking on the any word
svkalinin <svk@nuk-svk.ru> Fri, 26 Aug 2022 12:36:14 +0300
- Изменил(а) на 'README.md'
17/08/2022
- Added "Vew Panel" menu and "Panel side" (left/right)
- Changed standard Tk menu on TTK::menu
- Added config options filesPanelPlace (left/right)
- Fixed ViewFilesTree procedure with rigth variable filesPanelShow (true/false)
svk <svkalinin@samsonpost.ru> Fri, 26 Aug 2022 12:29:19 +0300
- Добавлена поддержка python. Обновлена библиотека иконок.
- Исправлена установка фокуса на окно диалога GotoFunctionDialog и обратно на текст. Переделан механизм чтения структуры файла и добавлены команды для sh (bash)
- Добавлены настройки темы для диалога навигации по функциям
- Добавлена иконка shell (*.sh)
- Исправлено комментирование строк
- Добавлен диалог навигации по структуре (процедурам) по Ctrl+F. Исправлена ошибка при закрытии файлов (функции из дерева теперь удаляются).
- Добавил цвет фона для панели с номерами строк
22/08/2022
- Fixed clicking on proc or func names into tree if file was closed
svkalinin <svk@nuk-svk.ru> Wed, 17 Aug 2022 21:37:06 +0300
- Убрал доки по tcl
- Слегка поменял стиль оформления
23/08/2022
- Added procedure and function navigation window by Ctrl+j pressed on editor
- Fixed correctly focused on editor text widget
Sergey Kalinin <svkalinin@samsonpost.ru> Wed, 17 Aug 2022 16:52:22 +0300
- Добавлен выбор расположения боковой панели
- Добавлено выделение всех слов в тексте по двойному щелчку мышой на любом слове
- Исправлено чтение структуры GO файлов: корректное отображение в дереве функций возвращающих значения разных типов
- Добавлена подсветка скобок
- Новая сборка
- Исправлены процедуры comment/uncomment
- Изменены имена переенных
- Изменены имена переменных
- Добавлена запись номера сборки (build) в исходник
- Добавлено меню Помощь -> О программе. Добавлено окно 'О программе'
- Исправлен поиск процедуры в тексте по клику в дереве
- Исправлен поиск процедуры в тексте по клику в дереве. Исправлено отображение позиции курсора в строке статуса
- ДОбавлены иконки для некоторых типов файлов
- Добавлено отображение структуры исходника в дереве (функции (go) и процедуры (tcl))
- Добавлено кодирование изображения в base64 и вставка в редактируемый текст
- Добавлены шрифт и цвет шриыта для общего интерфейса
- Исправлено комментирование выделенного фрагмента (последняя строка) Исправлено закрытие untitled вкладок
- Исправлено комментирование выделенных строк
- Добавлена подсветка для GO
- Исправлено подключение требуемой процедуры подсветки
- Убрал вставку закрывающихся кавычек в пустой строке. Ибо пока глючит.
- Добавлен диалог сохранения файла при закрытии вкладки редактора и при выходе из программы если есть несохраненные файлы
- Исправлен рабочий каталог
- Добавлены переводы для диалога
- Исправлен скрипт сборки пакета для Debian
- Исправил скрипт сборки пакета. Добавил .gitignore
24/08/2022
- Fixed ReadStructure procedure (added lexer)
svkalinin <svk@nuk-svk.ru> Thu, 21 Jul 2022 12:18:29 +0300
- Изменил(а) на 'README.md'
25/08/2022
- Fixed focus on the editor window after clicking Escape in the function selection dialog
- Change color scheme for FindFunction dialog
- Added sh icon (for shell scripts)
- Fixed lexers for find procedures and functions
svk <svkalinin@samsonpost.ru> Thu, 21 Jul 2022 12:15:19 +0300
- Change readme
- Added Dark theme
- New version of ProjMan
- Some changes into GUI (tabs)
26/08/2022
- Update image library (added some icons)
- Added hot keys:
- Alt+p - Show/Hide additional panel
- Alt+w - delete word on the cursor below
- Alt+r - delete row
- Alt+b - delete text beetween line Begin and cursor
- Alt+e - delete text between cursor and line End
- Fix close braces indent
svkalinin <banzaj28@yandex.ru> Thu, 5 Jul 2018 08:41:18 +0300
- Fixed error if file was not select
- README.md отредактирован онлайн на Bitbucket
30/08/2022
- Fix the clicked by the close button on a tab
- Added "View"->"Editors word wrap" menu and procedure
- Added bindings "Ctrl+PgUp" and "Ctrl+PgDown" for next or prior tab selecting
- Added "Close file" dialog
Sergey Kalinin <banzaj28@yandex.ru> Sat, 24 Mar 2018 12:20:27 +0300
- Rename readme
01/09/2022
- Added search function name into Function navigation whem press key
- Added find and replace dialog
- Fixed correct placement the Function dialog
Sergey <banzaj28@yandex.ru> Sat, 24 Mar 2018 12:17:09 +0300
- README отредактирован онлайн на Bitbucket
- Added sort procedure for projects tree
- Added small toolbar into project tree
- Added insert base64 encoded image into source code
- Some GUI change
- Change messages files
- Added Menu button into tollbar and Hide/Show options into config
- Added procedure arguments into tree Change read config procedure (error fixed) Fixed error when project running
- Some Fix
- GoToNumber entry small change
- GoToLine procedure tuning
- Added GoTo line into toolbar Fixed fileinfo update when tree one click Fixed bug with opened files have extention is a upper case
- Critical fix again
14/09/2022
- Added procedure for the horizontal split a text window
- Fixed untitled file saved
- Fixed Alt+R (delete row), now will are deleted row with a "\n\r" symbols
Sergey Kalinin <banzaj28@yandex.ru> Sat, 24 Feb 2018 18:16:01 +0300
- Critical bug fixed with create project
- Refactoring all procedures is the Tree working
20/10/200
- Added Git support: add and commit changes, show git log, show each commit...
Sergey <svk@s.kalinin-nb> Sat, 24 Feb 2018 12:22:08 +0300
- Fixed Add new file if name was existing into tree
11/11/2022
- Added GoTo Line dialog
- Fixed Git commit procedure
- Added variable and procedure helper
svk <banzaj28@yandex.ru> Fri, 23 Feb 2018 11:58:39 +0300
- Rename archive projman-latest
- Fixed AddToProj procedure for file browser tree Disable OpComplite procedure
- Refactoring Settigs procedure source code Some changes into messages files (localisation)
- Added option "constrainedwidth true" for ScrollableFrame
- Fix saving "Show dot files" option Fixed correctly highlightning procedure names
- Refactoring auto update file structure (tree). Now structure updated when file was saving Refactoring "Settings" dialog
- Fix "New file" proc ctrl+n hotkey
- - Fixed edit files into root node from file browser tree - Change "Delete project" dialog and procedure
- Refactoring "Add New Projects" "Project Settings" (e.t.c.) dialogs Added "Add as new project" dialog for file browser Add popup menu for file browser Fixed some highlight bug
- Fixed runing on Win7 without installation
- Added opening last active project when project run
- Fixed parsing procedure with names like ::proc::name or proc_na::me(aa) and parameters {{} {} {}}
- Put logo and icon images into source code
- Fixed AutoComplite precedure for TCL/TK-projects Added colored icon for main window Fixed "Close all" procedure if opened files from projects and file browser
- Added saving main window geometry into projman.conf file when close programm
- Merge branch 'master' of https://bitbucket.org/svk28/projman
- Delete temp file
- bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
- change docker image
- add apt
- bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
- Initial Bitbucket Pipelines configuration
- Add web site into Readme
- Added gray theme Fixed work with file from directory but not project.
- Some FileDialog fixes
- File Browser added
- Auto indent added for () [] braces
- Some changes
- Change hotkeys "Control+
- Add comment/uncomment selected text
- Tcl
- - Russian help files was conerting into utf-8 encode
- Change Logo and About dialog (added new homepage and git repo addresses)
- Added binding mouse button: click on notebook tab highlight opened file name in tree Change "Paste from Clipboard" function Change popup editor menu (undo
- Modules load procedure changes
- Remove some files
- GiTK running fixed
- Fixed paste text highlight Fixed setting edited flag when paste the text from buffer Change authors email and home page
18/11/2022
- Add Refresh button into Git Dialog
- Fixed FindFunction
Sergey Kalinin <svk@kalinin.carfix> Mon, 22 Jan 2018 17:54:18 +0300
- - Remove ctags support - Added gitk (gui for git) support
- Change version into Install.tcl script
07/12/2022
- Added Perl language support
- Added INI-files support
- Added MD-files structure navigation
- Fixed saving user session and opening files and folders at the next start
- Added buttons "Git clone" and "Git init" in the dialog box displayed when the Git button is pressed
svk <svk@l0001h.office> Fri, 12 Jan 2018 13:44:26 +0300
- README отредактирован онлайн на Bitbucket
- test.tcl deleted online with Bitbucket
27/07/2023
- Fixed opening files and directoryes from command line if their name is relative
Sergey Kalinin <banzaj28@gmail.com> Mon, 19 Oct 2015 14:22:09 +0300
- some bugs in install.tcl fixed
svk28 <ksv@L-AO-TEH1.DALS.local> Mon, 19 Oct 2015 13:37:21 +0300
- Initial commit with contributors
- Initial release

View File

@ -17,6 +17,20 @@ exec tclsh "$0" -- "$@"
# puts $tcl_platform(platform)
# Устанавливаем рабочий каталог, если его нет то создаём.
# Согласно спецификации XDG проверяем наличие переменных и каталогов
if [info exists env(XDG_CONFIG_HOME)] {
set dir(cfg) [file join $env(XDG_CONFIG_HOME) changelog-gen]
} elseif [file exists [file join $env(HOME) .config]] {
set dir(cfg) [file join $env(HOME) .config changelog-gen]
} else {
#set dir(cfg) [file join $env(HOME) .changelog-gen]
}
if {[file exists $dir(cfg)] == 0} {
file mkdir $dir(cfg)
}
# Use whereis command for finding the git executable file.
# for unix-like operating systems
proc GetGitCommandUnix {} {
@ -49,12 +63,17 @@ switch $tcl_platform(platform) {
}
proc ReadGitLog {} {
global gitCommand
global args gitCommand lastCommitTimeStampSec
set cmd exec
set i 0
lappend cmd "$gitCommand"
lappend cmd "log"
lappend cmd "--abbrev-commit"
# Проверяем была ли запись для данного проекта если была то к времени последнего коммита прибавляем 1 сек.
# и получаем журнал после этой даты
if {[info exists lastCommitTimeStampSec] && [info exists args(--last)]} {
lappend cmd "--after='[clock format [clock add $lastCommitTimeStampSec 1 second] -format {%a, %e %b %Y %H:%M:%S %z}]'"
}
lappend cmd "--all"
lappend cmd "--pretty='%h, %ad, %an, %ae, %s, %b'"
# puts $cmd
@ -62,15 +81,16 @@ proc ReadGitLog {} {
# puts $pipe
set outBuffer ""
foreach line [split $pipe "\n"] {
# puts $line
# set line [string trim $line]
set line [string trim [string trim $line] {'}]
if {[regexp -nocase -all -- {^[0-9a-z]+} $line match]} {
set outBuffer $line
if {$outBuffer ne ""} {
# puts $outBuffer
lappend res [list $i $outBuffer]
incr i
}
set outBuffer $line
# puts $outBuffer
} else {
if {$line ne ""} {
append outBuffer ". " $line
@ -78,11 +98,27 @@ proc ReadGitLog {} {
}
}
# puts $res
if [info exists res] {
return $res
} else {
puts "\nRepository '$args(--project-name)' do not have any changes\n"
exit
}
}
proc StoreProjectInfo {timeStamp} {
global dir args
set cfgFile [open [file join $dir(cfg) $args(--project-name).conf] "w+"]
puts $cfgFile "# set args(--project-version) \"$args(--project-version)\""
puts $cfgFile "# set args(--project-release) \"$args(--project-release)\""
puts $cfgFile "set lastCommitTimeStamp \"$timeStamp\""
puts $cfgFile "set lastCommitTimeStampSec [clock scan $timeStamp]"
close $cfgFile
}
proc GenerateChangelogDEB {} {
global projectName projectVersion projectRelease
global args
# puts "GenerateChangelogDEB"
set lastCommitTimeStamp ""
set commiter ""
@ -91,6 +127,7 @@ proc GenerateChangelogDEB {} {
set lst [lsort -integer -index 0 [ReadGitLog]]
# puts $lst
# exit
set outText ""
foreach l $lst {
set index [lindex $l 0]
set line [lindex $l 1]
@ -104,23 +141,30 @@ proc GenerateChangelogDEB {} {
set timeStamp [clock format [clock scan $timeStamp] -format {%a, %e %b %Y %H:%M:%S %z}]
# puts "> $commiter"
if {$index == 0} {
puts "$projectName ($projectVersion-$projectRelease) stable; urgency=medium\n"
puts "$args(--project-name) ($args(--project-version)-$args(--project-release)) stable; urgency=medium\n"
append outText "$args(--project-name) ($args(--project-version)-$args(--project-release)) stable; urgency=medium\n\n"
set commiter [lindex $record 2]
StoreProjectInfo $timeStamp
# puts "\n \[ [string trim $commiter] \]"
}
# puts ">> $commiter"
if {$commiter ne [lindex $record 2]} {
puts "\n -- [string trim $commiter] <$email> $timeStamp"
puts "\n$projectName ($projectVersion-$projectRelease) stable; urgency=medium\n"
append outText "\n -- [string trim $commiter] <$email> $timeStamp\n"
puts "\n$args(--project-name) ($args(--project-version)-$args(--project-release)) stable; urgency=medium\n"
append outText "\n$args(--project-name) ($args(--project-version)-$args(--project-release)) stable; urgency=medium\n\n"
set commiter [lindex $record 2]
# puts "\n \[ [string trim $commiter] \]"
}
set commitTex [lindex $record 4]
puts " * $commitTex"
append outText " * $commitTex\n"
}
puts "\n -- [string trim $commiter] <$email> $timeStamp"
append outText "\n -- [string trim $commiter] <$email> $timeStamp\n"
return $outText
}
proc GenerateChangelogRPM {} {
@ -129,50 +173,165 @@ proc GenerateChangelogRPM {} {
}
proc GenerateChangelogTXT {} {
puts "GenerateChangelogTXT"
puts [ReadGitLog]
global args
set lastCommitTimeStamp ""
set commiter ""
set commitText ""
set lst [lsort -integer -index 0 [ReadGitLog]]
puts "$args(--project-name) ($args(--project-version)-$args(--project-release)"
foreach l $lst {
set index [lindex $l 0]
set line [lindex $l 1]
# puts "$index - $line"
set record [split $line ","]
set timeStamp [string trim [lindex $record 1]]
set email [string trim [lindex $record 3]]
if {$lastCommitTimeStamp eq ""} {
set lastCommitTimeStamp [string trim [lindex $record 1]]
}
set timeStamp [clock format [clock scan $timeStamp] -format {%a, %e %b %Y %H:%M:%S %z}]
# puts "> $commiter"
if {$index == 0} {
append outText "$args(--project-name) ($args(--project-version)-$args(--project-release))\n"
set commiter [lindex $record 2]
puts "\n[string trim $commiter] <$email> $timeStamp"
append outText "\n[string trim $commiter] <$email> $timeStamp\n"
StoreProjectInfo $timeStamp
}
if {$commiter ne [lindex $record 2]} {
puts "\n[string trim $commiter] <$email> $timeStamp"
append outText "\n[string trim $commiter] <$email> $timeStamp\n"
set commiter [lindex $record 2]
}
set commitTex [lindex $record 4]
puts " - $commitTex"
append outText " - $commitTex\n"
}
return $outText
}
# puts [ReadGitLog]
proc ShowHelp {} {
puts "\nChangelog generator from the Git commit history. For DEB and RPM packages"
puts "Usage:\n"
puts "\tchangelog-gen.tcl {DEB RPM TXT}\n"
puts "Where{DEB RPM TXT} - changelog format for same packages. The list can be either complete or from any number of elements.\nDefault is a TXT"
puts "\tchangelog-gen \[options\]\n"
puts "Where options:"
puts "\t--project-name - name of project (package) "
puts "\t--project-version - package version"
puts "\t--project-release - package release name (number)"
puts "\t--deb - debian package format of changelog"
puts "\t--rpm - rpm package format of changelog"
puts "\t--txt - plain text changelog out"
puts "\t--out-file - changelog file name"
puts "\t--last - The timestamp since the last launch of this program for a given project"
}
if [info exists env(PROJECT_NAME)] {
set projectName $env(PROJECT_NAME)
# puts $projectName
proc StoreChangeLog {outText} {
global args
if [file exists $args(--out-file)] {
file copy -force $args(--out-file) "$args(--out-file).tmp"
set origOutFile [open "$args(--out-file).tmp" "r"]
set origText [read $origOutFile]
close $origOutFile
set outFile [open $args(--out-file) "w"]
puts $outFile $outText
puts $outFile $origText
close $outFile
if [info exists args(--last)] {
set outFile [open $args(--out-file) "r+"]
puts $outFile $outText
close $outFile
} else {
puts "You mast set PROJECT_NAME variable \n"
exit
set outFile [open $args(--out-file) "w+"]
puts $outFile $outText
close $outFile
}
if [info exists env(PROJECT_VERSION)] {
set projectVersion $env(PROJECT_VERSION)
# puts $projectVersion
} else {
puts "You mast set PROJECT_VERSION variable \n"
exit
set outFile [open $args(--out-file) "w+"]
puts $outFile $outText
close $outFile
}
if [info exists env(PROJECT_RELEASE)] {
set projectRelease $env(PROJECT_RELEASE)
# puts $projectRelease
} else {
puts "You mast set PROJECT_RELEASE variable \n"
exit
}
if { $::argc > 1 } {
foreach arg $::argv {
switch -glob -nocase $arg {
DEB {GenerateChangelogDEB}
RPM {GenerateChangelogRPM}
TXT {GenerateChangelogTXT}
*help {ShowHelp}
set arglen [llength $argv]
set index 0
while {$index < $arglen} {
set arg [lindex $argv $index]
switch -exact $arg {
--project-name {
set args($arg) [lindex $argv [incr index]]
}
--project-version {
set args($arg) [lindex $argv [incr index]]
}
} else {
--project-release {
set args($arg) [lindex $argv [incr index]]
}
--deb {
set args($arg) true
}
--rpm {
set args($arg) true
}
--txt {
set args($arg) true
}
--out-file {
set args($arg) [lindex $argv [incr index]]
}
--last {
set args($arg) true
}
--help {
ShowHelp
exit
}
default {
set filename [lindex $argv $index]
}
}
incr index
}
if ![info exists args(--project-name)] {
puts "You mast set --project-name option\n"
exit
}
if ![info exists args(--project-version)] {
puts "You mast set --project-version option\n"
exit
}
if ![info exists args(--project-release)] {
puts "You mast set --project-release option\n"
exit
}
if [file exists [file join $dir(cfg) $args(--project-name).conf]] {
source [file join $dir(cfg) $args(--project-name).conf]
}
foreach arg [array names args] {
puts "$arg $args($arg)"
}
if [info exists args(--deb)] {
set outText [GenerateChangelogDEB]
if [info exists args(--out-file)] {
StoreChangeLog $outText
}
}
if [info exists args(--rpm)] {
GenerateChangelogRPM
}
if [info exists args(--txt)] {
set outText [GenerateChangelogTXT]
if [info exists args(--out-file)] {
StoreChangeLog $outText
}
}

View File

@ -10,7 +10,9 @@ echo "$VERSION, $RELEASE, $BUILD_DATE"
sed -i "/# Build:.*/c$TXT" projman.tcl
cp projman.tcl projman
cp changelog-gen.tcl changelog-gen
./changelog-gen.tcl --project-name projman --project-version ${VERSION} --project-release ${RELEASE} --out-file debian/changelog --deb --last
sed -i "s+^set\ dir(lib)+set\ dir(lib)\ /usr/share/projman/lib ;#+g" projman
@ -23,5 +25,5 @@ dpkg-buildpackage -d
#cp ../projman_${VERSION}-${RELEASE}_amd64.deb /files/
rm -v projman
rm -v projman changelog-gen
rm -r -v debian/{projman,.debhelper}

257
debian/changelog vendored
View File

@ -1,117 +1,66 @@
projman (2.0.0-alpha3) stable; urgency=medium
projman (2.0.0-alpha16) stable; urgency=medium
* build-deb-projman.sh: добавлена генерация changelog из git log
* changelog-gen.tcl: Вывод в файл вынесен в отдельную процедуру
* changelog-gen.tcl: Добавлено создание резервной копии выходного файла. Исправлен вывод в файл.
* changelog-gen.tcl: Добавлены опции командной строки
* changelog-gen.tcl: Добавлена генерация текстового журнала изменений
* Добавлен запуск changelog-gen при сборке пакета
* Добавлено чстение журнала начиная с определенной даты
* Новая сборка
-- Sergey Kalinin <svk@nuk-svk.ru> Thu, 22 Aug 2024 13:38:52 +0300
projman (2.0.0-alfa15) stable; urgency=medium
* Генерация списка изменений для debian приведена к корректному виду
* Исправлен фокус при создании нового файла. #3
-- Калинин Сергей Валерьевич <svkalinin@samsonpost.ru> Wed, 17 Jul 2024 12:28:30 +0300
projman (2.0.0-alpha3) stable; urgency=medium
projman (2.0.0-alfa14) stable; urgency=medium
* Исправлена неправильная замена выражение при поиске
* Исправлена неправильная замена выражение при поиске
* Реализовал базовые функции генератора журнала изменений
-- svkalinin <svk@nuk-svk.ru> Thu, 27 Jun 2024 14:44:47 +0300
projman (2.0.0-alpha3) stable; urgency=medium
* Финальный тест сборки
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Попытка загрузки собранного пакета
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить debian/build-deb-projman.sh
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
* Обновить .gitea/workflows/build.yml
-- svk <svkalinin@samsonpost.ru> Mon, 24 Jun 2024 10:15:38 +0300
projman (2.0.0-alpha3) stable; urgency=medium
projman (2.0.0-alfa13) stable; urgency=medium
* Добавлена иконка для jinja template
* Исправил остатки слияния веток
* Исправлено некорректное определение типа файла при открытии
* Исправлено некорректное определение типа файла при открытии.
-- svkalinin <svk@nuk-svk.ru> Mon, 30 Oct 2023 10:44:37 +0300
projman (2.0.0-alpha3) stable; urgency=medium
projman (2.0.0-alfa12) stable; urgency=medium
* Обновить .gitea/workflows/build.yml
* revert 61f2bca699ce31159c93cf0d07d29aeae1fc964e
-- svk <> Tue, 20 Aug 2024 13:29:15 +0300
projman (2.0.0-alpha3) stable; urgency=medium
*
-- <svk@nuk-svk.ru> Mon, 30 Oct 2023 09:46:02 +0300
projman (2.0.0-alpha3) stable; urgency=medium
* Обновить .gitea/workflows/build.yml
* Fix
* Fix
* TEst
* Test gitea actions
* Gitea actions add
-- svk <svkalinin@samsonpost.ru> Thu, 27 Jul 2023 13:04:32 +0300
projman (2.0.0-alpha3) stable; urgency=medium
projman (2.0.0-alfa11) stable; urgency=medium
* Merge branch 'master' of https://git.nuk-svk.ru/svk/projman
* Исправил открытие файлов с разными путями (~/ ./ ../)
-- svkalinin <svk@nuk-svk.ru> Thu, 23 Feb 2023 13:46:56 +0300
projman (2.0.0-alpha3) stable; urgency=medium
projman (2.0.0-alfa10) stable; urgency=medium
* Добавил изображений программы
-- svk <svkalinin@samsonpost.ru> Mon, 6 Feb 2023 09:27:38 +0300
projman (2.0.0-alpha3) stable; urgency=medium
projman (2.0.0-alfa9) stable; urgency=medium
* Исправлена ошибка при создании нового файла.
-- svkalinin <svk@svk.home> Thu, 22 Dec 2022 19:59:05 +0300
projman (2.0.0-alpha3) stable; urgency=medium
projman (2.0.0-alfa8) stable; urgency=medium
* Test
* Изменил(а) на '.woodpecker/.build.yml'
* Изменил(а) на '.woodpecker/.build.yml'
-- svk <svkalinin@samsonpost.ru> Wed, 21 Dec 2022 16:53:44 +0300
projman (2.0.0-alpha3) stable; urgency=medium
* Test
* Тесты
* Fix
* Fix
* Woodpecker test
* Добавил пиктограммы файлов
* Исправил процедуру Files::CloseAll ('Закрыть всё')
* Добавлена поддержка Lua
@ -276,19 +225,18 @@ projman (2.0.0-alpha3) stable; urgency=medium
-- svkalinin <svk@nuk-svk.ru> Sun, 18 Sep 2022 10:46:59 +0300
projman (2.0.0-alpha3) stable; urgency=medium
projman (2.0.0-alfa7) stable; urgency=medium
* Добавлен поиск переменной в тексте после открытия файла где она указана
* Исправлена ошибка при запуске
-- Sergey Kalinin <svkalinin@samsonpost.ru> Fri, 16 Sep 2022 16:37:17 +0300
projman (2.0.0-alpha3) stable; urgency=medium
projman (2.0.0-alfa6) stable; urgency=medium
* Новая сборка
* Исправил сохранение открытого каталога в настройках
* Рефакторинг
* Куафсещкштп
* Переделал дилог навигации по переменным
* Исправил ошибку
* Добавлен еще один каталог с переменными - default
@ -303,13 +251,7 @@ projman (2.0.0-alpha3) stable; urgency=medium
-- svkalinin <svk@nuk-svk.ru> Fri, 2 Sep 2022 21:42:40 +0300
projman (2.0.0-alpha3) stable; urgency=medium
* Почти работающий поиск переменных по каталогу для ansible.
-- Sergey Kalinin <svkalinin@samsonpost.ru> Fri, 2 Sep 2022 17:01:53 +0300
projman (2.0.0-alpha3) stable; urgency=medium
projman (2.0.0-alfa5) stable; urgency=medium
* Добавил поддержку ruby
* Исправлен выход окна со списком функций за пределы экрана. Поиск и замена теперь работает. Добавлены некоторые иконки для файлов
@ -325,13 +267,7 @@ projman (2.0.0-alpha3) stable; urgency=medium
-- svkalinin <svk@nuk-svk.ru> Fri, 26 Aug 2022 12:36:14 +0300
projman (2.0.0-alpha3) stable; urgency=medium
* Изменил(а) на 'README.md'
-- svk <svkalinin@samsonpost.ru> Fri, 26 Aug 2022 12:29:19 +0300
projman (2.0.0-alpha3) stable; urgency=medium
projman (2.0.0-alfa4) stable; urgency=medium
* Добавлена поддержка python. Обновлена библиотека иконок.
* Исправлена установка фокуса на окно диалога GotoFunctionDialog и обратно на текст. Переделан механизм чтения структуры файла и добавлены команды для sh (bash)
@ -343,15 +279,14 @@ projman (2.0.0-alpha3) stable; urgency=medium
-- svkalinin <svk@nuk-svk.ru> Wed, 17 Aug 2022 21:37:06 +0300
projman (2.0.0-alpha3) stable; urgency=medium
projman (2.0.0-alfa3) stable; urgency=medium
* Убрал доки по tcl
* Слегка поменял стиль оформления
* Слегка поменял стиль оформления
-- Sergey Kalinin <svkalinin@samsonpost.ru> Wed, 17 Aug 2022 16:52:22 +0300
projman (2.0.0-alpha3) stable; urgency=medium
projman (2.0.0-alfa2) stable; urgency=medium
* Добавлен выбор расположения боковой панели
* Добавлено выделение всех слов в тексте по двойному щелчку мышой на любом слове
@ -385,13 +320,13 @@ projman (2.0.0-alpha3) stable; urgency=medium
-- svkalinin <svk@nuk-svk.ru> Thu, 21 Jul 2022 12:18:29 +0300
projman (2.0.0-alpha3) stable; urgency=medium
projman (2.0.0-alfa1) stable; urgency=medium
* Изменил(а) на 'README.md'
-- svk <svkalinin@samsonpost.ru> Thu, 21 Jul 2022 12:15:19 +0300
projman (2.0.0-alpha3) stable; urgency=medium
projman (2.0.0-alfa0) stable; urgency=medium
* Change readme
* Added Dark theme
@ -401,137 +336,3 @@ projman (2.0.0-alpha3) stable; urgency=medium
-- svkalinin <banzaj28@yandex.ru> Thu, 5 Jul 2018 08:41:18 +0300
projman (2.0.0-alpha3) stable; urgency=medium
* Fixed error if file was not select
* README.md отредактирован онлайн на Bitbucket
-- Sergey Kalinin <banzaj28@yandex.ru> Sat, 24 Mar 2018 12:20:27 +0300
projman (2.0.0-alpha3) stable; urgency=medium
* Rename readme
-- Sergey <banzaj28@yandex.ru> Sat, 24 Mar 2018 12:17:09 +0300
projman (2.0.0-alpha3) stable; urgency=medium
* README отредактирован онлайн на Bitbucket
* Added sort procedure for projects tree
* Added small toolbar into project tree
* Added insert base64 encoded image into source code
* Some GUI change
* Change messages files
* Added Menu button into tollbar and Hide/Show options into config
* Added procedure arguments into tree Change read config procedure (error fixed) Fixed error when project running
* Some Fix
* GoToNumber entry small change
* GoToLine procedure tuning
* Added GoTo line into toolbar Fixed fileinfo update when tree one click Fixed bug with opened files have extention is a upper case
* Critical fix again
-- Sergey Kalinin <banzaj28@yandex.ru> Sat, 24 Feb 2018 18:16:01 +0300
projman (2.0.0-alpha3) stable; urgency=medium
* Critical bug fixed with create project
* Refactoring all procedures is the Tree working
-- Sergey <svk@s.kalinin-nb> Sat, 24 Feb 2018 12:22:08 +0300
projman (2.0.0-alpha3) stable; urgency=medium
* Fixed Add new file if name was existing into tree
-- svk <banzaj28@yandex.ru> Fri, 23 Feb 2018 11:58:39 +0300
projman (2.0.0-alpha3) stable; urgency=medium
* Rename archive projman-latest
* Fixed AddToProj procedure for file browser tree Disable OpComplite procedure
* Refactoring Settigs procedure source code Some changes into messages files (localisation)
* Added option "constrainedwidth true" for ScrollableFrame
* Fix saving "Show dot files" option Fixed correctly highlightning procedure names
* Refactoring auto update file structure (tree). Now structure updated when file was saving Refactoring "Settings" dialog
* Fix "New file" proc ctrl+n hotkey
* - Fixed edit files into root node from file browser tree - Change "Delete project" dialog and procedure
* Refactoring "Add New Projects" "Project Settings" (e.t.c.) dialogs Added "Add as new project" dialog for file browser Add popup menu for file browser Fixed some highlight bug
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* Fixed runing on Win7 without installation
* Added opening last active project when project run
* Fixed parsing procedure with names like ::proc::name or proc_na::me(aa) and parameters {{} {} {}}
* Put logo and icon images into source code
* Fixed AutoComplite precedure for TCL/TK-projects Added colored icon for main window Fixed "Close all" procedure if opened files from projects and file browser
* Added saving main window geometry into projman.conf file when close programm
* Merge branch 'master' of https://bitbucket.org/svk28/projman
* Delete temp file
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* change docker image
* add apt
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* bitbucket-pipelines.yml отредактирован онлайн на Bitbucket
* Initial Bitbucket Pipelines configuration
* Add web site into Readme
* Added gray theme Fixed work with file from directory but not project.
* Some FileDialog fixes
* File Browser added
* Auto indent added for () [] braces
* Some changes
* Change hotkeys "Control+
* Add comment/uncomment selected text
* Tcl
* - Russian help files was conerting into utf-8 encode
* Change Logo and About dialog (added new homepage and git repo addresses)
* Added binding mouse button: click on notebook tab highlight opened file name in tree Change "Paste from Clipboard" function Change popup editor menu (undo
* Modules load procedure changes
* Remove some files
* GiTK running fixed
* Fixed paste text highlight Fixed setting edited flag when paste the text from buffer Change authors email and home page
-- Sergey Kalinin <svk@kalinin.carfix> Mon, 22 Jan 2018 17:54:18 +0300
projman (2.0.0-alpha3) stable; urgency=medium
* - Remove ctags support - Added gitk (gui for git) support
* Change version into Install.tcl script
-- svk <svk@l0001h.office> Fri, 12 Jan 2018 13:44:26 +0300
projman (2.0.0-alpha3) stable; urgency=medium
* msc.carfix.ru
* msc.carfix.ru
* msc.carfix.ru
* msc.carfix.ru
* README отредактирован онлайн на Bitbucket
* test.tcl deleted online with Bitbucket
-- Sergey Kalinin <banzaj28@gmail.com> Mon, 19 Oct 2015 14:22:09 +0300
projman (2.0.0-alpha3) stable; urgency=medium
* test
* some bugs in install.tcl fixed
-- svk28 <ksv@L-AO-TEH1.DALS.local> Mon, 19 Oct 2015 13:37:21 +0300
projman (2.0.0-alpha3) stable; urgency=medium
* Initial commit with contributors
-- unknown <ksv@L-AO-TEH1.DALS.local> Mon, 19 Oct 2015 13:37:21 +0300

1
debian/install vendored
View File

@ -1,4 +1,5 @@
projman /usr/bin/
changelog-gen /usr/bin/
lib/*.tcl /usr/share/projman/lib
lib/msgs/* /usr/share/projman/lib/msgs
theme /usr/share/projman/

View File

@ -9,8 +9,8 @@ exec wish "$0" -- "$@"
# Home page: https://nuk-svk.ru
######################################################
# Version: 2.0.0
# Release: alpha
# Build: 20082024132949
# Release: alpha16
# Build: 22082024151054
######################################################
# определим текущую версию, релиз и т.д.