Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/forge.org
Original file line number Diff line number Diff line change
Expand Up @@ -728,9 +728,9 @@ a post visits that post in a browser.
This command reads a list of people who you would like to review an
existing topic in the minibuffer.

- Key: C-c C-k [on a comment section], forge-delete-comment
- Key: C-c C-k [on a post section], forge-delete-post

This command deletes the comment at point.
This command deletes the post at point.

Creating a new post and editing an existing post are similar to
creating a new commit and editing the message of an existing commit.
Expand Down
8 changes: 4 additions & 4 deletions docs/forge.texi
Original file line number Diff line number Diff line change
Expand Up @@ -1008,11 +1008,11 @@ minibuffer.
This command reads a list of people who you would like to review an
existing topic in the minibuffer.

@kindex C-c C-k [on a comment section]
@cindex forge-delete-comment
@item @kbd{C-c C-k [on a comment section]} @tie{}@tie{}@tie{}@tie{}(@code{forge-delete-comment})
@kindex C-c C-k [on a post section]
@cindex forge-delete-post
@item @kbd{C-c C-k [on a post section]} @tie{}@tie{}@tie{}@tie{}(@code{forge-delete-post})

This command deletes the comment at point.
This command deletes the post at point.
@end table

Creating a new post and editing an existing post are similar to
Expand Down
10 changes: 6 additions & 4 deletions lisp/forge-commands.el
Original file line number Diff line number Diff line change
Expand Up @@ -525,12 +525,14 @@ topic N and modify that instead."

;;; Delete

(defun forge-delete-comment (comment)
"Delete the comment at point."
(interactive (list (or (forge-comment-at-point)
(defun forge-delete-post (post)
"Delete the POST at point."
(interactive (list (or (forge-post-at-point)
(user-error "There is no post at point"))))
(when (yes-or-no-p "Do you really want to delete the selected comment? ")
(forge--delete-comment (forge-get-repository t) comment)))
(forge--delete-post (forge-get-repository t) post)
(closql-delete post)
(magit-refresh)))

;;; Branch

Expand Down
6 changes: 2 additions & 4 deletions lisp/forge-github.el
Original file line number Diff line number Diff line change
Expand Up @@ -500,11 +500,9 @@ repositories.
:payload labels
:callback (forge--set-field-callback)))

(cl-defmethod forge--delete-comment
(cl-defmethod forge--delete-post
((_repo forge-github-repository) post)
(forge--ghub-delete post "/repos/:owner/:repo/issues/comments/:number")
(closql-delete post)
(magit-refresh))
(forge--ghub-delete post "/repos/:owner/:repo/issues/comments/:number"))

(cl-defmethod forge--set-topic-assignees
((_repo forge-github-repository) topic assignees)
Expand Down
14 changes: 5 additions & 9 deletions lisp/forge-gitlab.el
Original file line number Diff line number Diff line change
Expand Up @@ -458,13 +458,11 @@ it is all or nothing.")

(cl-defmethod forge--submit-edit-post ((_ forge-gitlab-repository) post)
(forge--glab-put post
(cl-typecase post
(cl-etypecase post
(forge-pullreq "/projects/:project/merge_requests/:number")
(forge-issue "/projects/:project/issues/:number")
(forge-post
(if (forge-issue-p (forge-get-topic post))
"/projects/:project/issues/:topic/notes/:number"
"/projects/:project/merge_requests/:topic/notes/:number")))
(forge-issue-post "/projects/:project/issues/:topic/notes/:number")
(forge-pullreq-post "/projects/:project/merge_requests/:topic/notes/:number"))
(if (cl-typep post 'forge-topic)
(let-alist (forge--topic-parse-buffer)
;; Keep Gitlab from claiming that the user
Expand Down Expand Up @@ -515,17 +513,15 @@ it is all or nothing.")
(forge--set-topic-field repo topic 'assignee_ids
(--map (caddr (assoc it users)) assignees))))))

(cl-defmethod forge--delete-comment
(cl-defmethod forge--delete-post
((_repo forge-gitlab-repository) post)
(forge--glab-delete
post
(cl-etypecase post
(forge-pullreq-post
"/projects/:project/merge_requests/:topic/notes/:number")
(forge-issue-post
"/projects/:project/issues/:topic/notes/:number")))
(closql-delete post)
(magit-refresh))
"/projects/:project/issues/:topic/notes/:number"))))

(cl-defmethod forge--topic-templates ((repo forge-gitlab-repository)
(_ (subclass forge-issue)))
Expand Down
6 changes: 0 additions & 6 deletions lisp/forge-post.el
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,6 @@
(defun forge-post-at-point ()
(magit-section-value-if '(issue pullreq post)))

(defun forge-comment-at-point ()
(and (magit-section-value-if '(post))
(let ((post (oref (magit-current-section) value)))
(or (forge-pullreq-post-p post)
(forge-issue-post-p post)))))

(defun forge-topic-at-point ()
(or (magit-section-value-if '(issue pullreq))
(when-let ((branch (magit-branch-at-point)))
Expand Down
2 changes: 1 addition & 1 deletion lisp/forge-topic.el
Original file line number Diff line number Diff line change
Expand Up @@ -360,7 +360,7 @@ identifier."
(let ((map (make-sparse-keymap)))
(define-key map [remap magit-browse-thing] 'forge-browse-post)
(define-key map [remap magit-edit-thing] 'forge-edit-post)
(define-key map (kbd "C-c C-k") 'forge-delete-comment)
(define-key map (kbd "C-c C-k") 'forge-delete-post)
map))

(defvar-local forge-buffer-topic nil)
Expand Down