diff options
Diffstat (limited to 'lib')
| -rwxr-xr-x | lib/edit.sh | 109 | ||||
| -rwxr-xr-x | lib/environment.sh | 23 | ||||
| -rwxr-xr-x | lib/global.sh | 32 | ||||
| -rwxr-xr-x | lib/project.sh | 68 |
4 files changed, 207 insertions, 25 deletions
diff --git a/lib/edit.sh b/lib/edit.sh index be271aa..3b2c878 100755 --- a/lib/edit.sh +++ b/lib/edit.sh @@ -1,15 +1,42 @@ #!/usr/bin/env bash -#****F* lib/global.sh +#****F* lib/edit.sh # NAME # -# global.sh - общие функции для всех скриптов. +# edit.sh - функции для edit_project.sh. # -# USES +# USED BY # -# - environment.sh +# - edit_project.sh #****** +#****f* edit.sh/getIdsTask +# NAME +# +# getIdsTask - возвращает массив из id задач. +# +# ARGUMENTS +# +# uuid - uuid задачи. +# +# USAGE +# +# getIdsTask uuid +# +# RETURN VALUE +# +# return {array} - Id задач +# +# USES +# +# - getNameProject +# +# USED BY +# +# - edit.sh +# - editStageProject +# - deleteProject +#****** function getIdsTask() { local nameProject @@ -38,15 +65,62 @@ function checkFilesHash() { fi } +#****f* edit.sh/backupStages +# NAME +# +# backupStages - создание копии TMP_TSKW_EDIT. +# +# DESCRIPTION +# +# Делается для дальнейшего сравнения в compareTaskFiles. +# +# USED BY +# +# - edit.sh +# - editStageProject +#****** function backupStages() { cp /tmp/tskw.edit /tmp/tskw.edit.bak } +#****f* edit.sh/editStages +# NAME +# +# editStages - открытие TMP_TSKW_EDIT в nvim. +# +# DESCRIPTION +# +# Нужна для редактирования шагов проекта. +# +# USED BY +# +# - edit.sh +# - editStageProject +#****** function editStages() { nvim /tmp/tskw.edit & wait } +#****f* edit.sh/editStageProject +# NAME +# +# editStageProject - записывает шаги проекта в TMP_TSKW_EDIT, делает копию TMP_TSKW_EDIT, сравнивает TMP_TKSW_EDIT с копией. +# +# DESCRIPTION +# +# Фактически объединяет в себе несколько других функций: backupStages, editStages, compareTaskFiles. +# +# USES +# +# - backupStages +# - editStages +# - compareTaskFiles +# +# USED BY +# +# - edit_project.sh +#****** function editStageProject() { local idsTaskProject @@ -79,6 +153,20 @@ function editStageProject() { checkFilesHash } +#****f* edit.sh/deleteProject +# NAME +# +# deleteProject - удаление проекта. +# +# USES +# +# - getIdsTask +# - getNameProject +# +# USED BY +# +# - edit_project.sh +#****** function deleteProject() { local idsTaskProject local nameProject @@ -93,6 +181,19 @@ function deleteProject() { fi } +#****f* edit.sh/recreateProject +# NAME +# +# recreateProject - пересоздание проекта. +# +# USES +# +# - getLatestTaskUuid +# +# USED BY +# +# - edit_project.sh +#****** function recreateProject() { for taskIndex in "${!taskStages[@]}"; do if [[ "$taskIndex" -eq 0 ]]; then diff --git a/lib/environment.sh b/lib/environment.sh index 00f69e7..947fa74 100755 --- a/lib/environment.sh +++ b/lib/environment.sh @@ -5,14 +5,6 @@ # NAME # # environment.sh - файл c основными константами и переменными. -# -# USED BY -# -# - edit_project.sh -# - jtx.sh -# - someday.sh -# - project.sh -# - start_stop.sh #****** # Global @@ -21,6 +13,10 @@ # NAME # # ROOT_DIR - корень проекта. +# +# USED BY +# +# - tskw.sh #****** export ROOT_DIR="$HOME/bin/taskwarrior-tui-scripts" @@ -28,6 +24,11 @@ export ROOT_DIR="$HOME/bin/taskwarrior-tui-scripts" # NAME # # LIB_DIR - папка с вспомогательными функциями. +# +# USED BY +# +# - tskw.sh +# - edit_project.sh #****** export LIB_DIR="$ROOT_DIR/lib" @@ -36,8 +37,12 @@ export LIB_DIR="$ROOT_DIR/lib" # # MY_CAL - папка с ics файлами календаря my_cal. # +# USED BY +# +# - jtx.sh +# # NOTES # -# https://baikal.bluig.xyz/dav.php/calendars/me/my_cal/ +# https://baikal.bluig.space/dav.php/calendars/me/my_cal/ #****** export MY_CAL="$XDG_DATA_HOME/.calendars/my_cal" diff --git a/lib/global.sh b/lib/global.sh index 58f8721..a59520c 100755 --- a/lib/global.sh +++ b/lib/global.sh @@ -30,15 +30,14 @@ # # NOTES # -# Категории уведомлений находятся в $HOME/.config/mako/category +# Категории уведомлений находятся в ~/.config/mako/category # -# USES +# USES BY # -# - global.sh +# - tskw.sh # - project.sh +# - global.sh # - edit.sh -# - someday.sh -# - start_stop.sh # - edit_project.sh #****** function notify() { @@ -54,7 +53,7 @@ function notify() { # # Возвращает id задачи с тегом +LATEST, которая является самой последней из добавленных. # -# USES +# USES BY # # - project.sh # @@ -79,7 +78,7 @@ function getLatestTaskId() { # # Возвращает uuid задачи с тегом +LATEST, которая является самой последней из добавленных. # -# USES +# USES BY # # - project.sh # @@ -108,10 +107,9 @@ function getLatestTaskUuid() { # # getTags <id | uuid> # -# USES +# USES BY # # - project.sh -# - someday.sh # - edit_project.sh # # RETURN VALUE @@ -135,10 +133,15 @@ function getTags() { # # getNameProject <id | uuid> # -# USES +# USED BY # # - edit.sh # +# USES BY +# +# - edit.sh +# - edit_project.sh +# # RETURN VALUE # # return {String} - Uuid задачи @@ -160,9 +163,10 @@ function getNameProject() { # # getAnnotationCount <id | uuid> # -# USES +# USES BY # # - project.sh +# - denotateAllAnnotations # # RETURN VALUE # @@ -185,7 +189,7 @@ function getAnnotationCount() { # # checkExistingProject <id | uuid> # -# USES +# USES BY # # - project.sh #****** @@ -250,6 +254,10 @@ function hasProject() { # # USES # +# - getAnnotationCount +# +# USES BY +# # - project.sh #****** function denotateAllAnnotations() { diff --git a/lib/project.sh b/lib/project.sh index 03e322f..f798fa0 100755 --- a/lib/project.sh +++ b/lib/project.sh @@ -6,14 +6,65 @@ # project.sh - bash-скрипт для создания проекта в taskwarrior-tui. #****** +#****f* global.sh/getProjName +# NAME +# +# getProjName - возвращает название проекта. +# +# USES BY +# +# - taskProj +# +# NOTES +# +# Cамое первое описание (description) является названием задачи. +# +# RETURN VALUE +# +# return {string} - название задачи. +#****** function getProjName() { task _get "$1".description } +#****f* global.sh/getExitCriteria +# NAME +# +# getExitCriteria - возвращает критерий завершения. +# +# USES BY +# +# - taskProj +# +# NOTES +# +# Следующее после самого первого описания (description) идёт - критерий завершения. +# +# RETURN VALUE +# +# return {string} - критерий завершения задачи. +#****** function getExitCriteria() { task _get "$1".annotations.1.description } +#****f* global.sh/taskCheck +# NAME +# +# taskCheck - проверка обрабатываемой задачи. +# +# DESCRIPTION +# +# Проверка задачи на наличие: критерия завершения, названия проекта, первого шага и существующего проекта. +# +# USES BY +# +# - taskProj +# +# RETURN VALUE +# +# return {number} - статус завершения. +#****** function taskCheck() { local task @@ -40,6 +91,23 @@ function taskCheck() { esac } +#****f* global.sh/taskProj +# NAME +# +# taskProj - создание проекта. +# +# NOTES +# +# Проект создается на основе: +# +# - названия проекта; +# - критерия завершения; +# - первого шага. +# +# USES BY +# +# - tskw.sh +#****** function taskProj() { local task local projName |
