[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals-release/activities 8afee346ab 084/103: Add: (activities
From: |
ELPA Syncer |
Subject: |
[elpa] externals-release/activities 8afee346ab 084/103: Add: (activities-default-name-fn) And use as default activity name |
Date: |
Tue, 30 Jan 2024 03:57:54 -0500 (EST) |
branch: externals-release/activities
commit 8afee346ab3803f97a4b5024b5b7eddf95a9d888
Author: Adam Porter <adam@alphapapa.net>
Commit: Adam Porter <adam@alphapapa.net>
Add: (activities-default-name-fn) And use as default activity name
---
README.org | 3 ++-
activities.el | 23 +++++++++++++++++++----
activities.info | 12 +++++++-----
3 files changed, 28 insertions(+), 10 deletions(-)
diff --git a/README.org b/README.org
index 5621688e1f..7c0bf6f176 100644
--- a/README.org
+++ b/README.org
@@ -118,7 +118,8 @@ When option ~activities-bookmark-store~ is enabled, an
Emacs bookmark is stored
** v0.2-pre
-Nothing new yet.
+*Additions*
++ Offer current ~project~ name by default for new activities. (Thanks to
[[https://github.com/josephmturner][Joseph Turner]].)
** v0.1.3
diff --git a/activities.el b/activities.el
index a72524cad2..97d93e5ab0 100644
--- a/activities.el
+++ b/activities.el
@@ -260,17 +260,23 @@ Called with one argument, the activity."
Called with one argument, the activity."
:type 'hook)
+(defcustom activities-default-name-fn 'activities--project-name
+ "Function that returns the default name for a new activity.
+The string should not be prefixed by, e.g. \"Activity\" because
+prefixes will be added automatically."
+ :type '(choice (const :tag "No default name" (lambda (&rest _) nil))
+ (const :tag "Current project's name" activities--project-name)
+ (function-item :tag "Other function")))
+
;;;; Commands
;;;###autoload
(cl-defun activities-new (name &key forcep)
"Save current state as a new activity with NAME.
If FORCEP (interactively, with prefix), overwrite existing
-activity. Interactively, NAME defaults to the current
-`project.el' project's name, if any."
+activity."
(interactive
- (let ((default (when-let ((proj (project-current)))
- (project-name proj))))
+ (let ((default (funcall activities-default-name-fn)))
(list (read-string (format-prompt "New activity name" default) nil nil
default)
:forcep current-prefix-arg)))
(when (and (not forcep) (member name (activities-names)))
@@ -644,6 +650,15 @@ PROMPT is passed to `completing-read', which see."
Adds `activities-name-prefix'."
(concat activities-name-prefix (activities-activity-name activity)))
+;;;; Project support
+
+(declare-function project-name "project")
+(defun activities--project-name ()
+ "Return the name of the current project, if any."
+ (require 'project)
+ (when-let ((project (project-current)))
+ (project-name project)))
+
;;;; Bookmark support
(defun activities-bookmark-store (activity)
diff --git a/activities.info b/activities.info
index 17f3b3fd12..3bf7cf6e54 100644
--- a/activities.info
+++ b/activities.info
@@ -319,7 +319,9 @@ File: README.info, Node: v02-pre, Next: v013, Up:
Changelog
4.1 v0.2-pre
============
-Nothing new yet.
+*Additions*
+ • Offer current ‘project’ name by default for new activities.
+ (Thanks to Joseph Turner (https://github.com/josephmturner).)
File: README.info, Node: v013, Next: v012, Prev: v02-pre, Up: Changelog
@@ -372,10 +374,10 @@ Node: Bookmarks8288
Node: FAQ8640
Node: Changelog11716
Node: v02-pre11894
-Node: v01312005
-Node: v01212158
-Node: v01112335
-Node: v0112498
+Node: v01312138
+Node: v01212291
+Node: v01112468
+Node: v0112631
End Tag Table
- [elpa] externals-release/activities 6590d88558 069/103: Docs: Update, (continued)
- [elpa] externals-release/activities 6590d88558 069/103: Docs: Update, ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities 0a567ae61e 063/103: Docs: Update, ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities 89d375c10e 070/103: Fix: (activities--window-serialized) Single-window frames, ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities 961c303a93 072/103: Meta: v0.1.3-pre, ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities 8ee16991a1 073/103: Fix: Autoload -new and -resume, ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities b35fb176cf 076/103: Merge: v0.1.3, ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities 0e10aba980 078/103: Change/Fix: (activities-completing-read) Variable and require match, ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities 8211fb1bd1 080/103: Comment: Add TODO, ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities 7fb531c494 082/103: Tidy: Docstring, ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities b271af1e07 083/103: Change: (activities-new) Use project name as default name prompt, ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities 8afee346ab 084/103: Add: (activities-default-name-fn) And use as default activity name,
ELPA Syncer <=
- [elpa] externals-release/activities 53ca02eda4 094/103: Release: v0.2, ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities 9e56e7ca96 098/103: Change: (activities-activity-state) Add slot metadata, ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities a96cd66fc0 100/103: Merge: Record activity state times, ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities d9d474c48e 101/103: Add: (activities-list), ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities 51467e12f4 102/103: Docs: Update, ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities 28b9738af3 054/103: Tidy: Docstrings, ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities 19577e5601 055/103: Tidy, ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities 7e4fc3f552 064/103: Meta: Add LICENSE, .elpaignore, ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities d6d568f70e 071/103: Merge: v0.1.2, ELPA Syncer, 2024/01/30
- [elpa] externals-release/activities f38b65c8d7 066/103: Fix: (activity--serialize) Ignore non-file-backed buffers, ELPA Syncer, 2024/01/30