Add/Show/Delete Emojis on Notes (#181)

This MR adds the ability to view, add, and delete emojis from notes and comments.

This action can be performed by default with the `Ea` (emoji add) keybinding, and the `Ed` (emoji delete) keybinding. Only emojis added by the current user are eligible for deletion. The MR also implements a popup functionality which shows the user who added emojis on hover.

Implements #179
This commit is contained in:
Harrison (Harry) Cramer
2024-02-18 21:16:53 -05:00
committed by GitHub
parent 99741178f9
commit baee20b279
22 changed files with 11655 additions and 83 deletions

View File

@@ -1,6 +1,7 @@
local u = require("gitlab.utils")
local async = require("gitlab.async")
local server = require("gitlab.server")
local emoji = require("gitlab.emoji")
local state = require("gitlab.state")
local reviewer = require("gitlab.reviewer")
local discussions = require("gitlab.actions.discussions")
@@ -13,6 +14,7 @@ local create_mr = require("gitlab.actions.create_mr")
local approvals = require("gitlab.actions.approvals")
local labels = require("gitlab.actions.labels")
local user = state.dependencies.user
local info = state.dependencies.info
local labels_dep = state.dependencies.labels
local project_members = state.dependencies.project_members
@@ -28,6 +30,7 @@ return {
require("gitlab.colors") -- Sets colors
reviewer.init()
discussions.initialize_discussions() -- place signs / diagnostics for discussions in reviewer
emoji.init() -- Read in emojis for lookup purposes
end,
-- Global Actions 🌎
summary = async.sequence({ u.merge(info, { refresh = true }), labels_dep }, summary.summary),
@@ -45,7 +48,7 @@ return {
move_to_discussion_tree_from_diagnostic = async.sequence({}, discussions.move_to_discussion_tree),
create_note = async.sequence({ info }, comment.create_note),
create_mr = async.sequence({}, create_mr.start),
review = async.sequence({ u.merge(info, { refresh = true }), revisions }, function()
review = async.sequence({ u.merge(info, { refresh = true }), revisions, user }, function()
reviewer.open()
end),
close_review = function()
@@ -54,7 +57,7 @@ return {
pipeline = async.sequence({ info }, pipeline.open),
merge = async.sequence({ u.merge(info, { refresh = true }) }, merge.merge),
-- Discussion Tree Actions 🌴
toggle_discussions = async.sequence({ info }, discussions.toggle),
toggle_discussions = async.sequence({ info, user }, discussions.toggle),
edit_comment = async.sequence({ info }, discussions.edit_comment),
delete_comment = async.sequence({ info }, discussions.delete_comment),
toggle_resolved = async.sequence({ info }, discussions.toggle_discussion_resolved),