Skip to content

Commit

Permalink
πŸŽ‰ (gitmoji.json, init.el) Add gitmoji completion source
Browse files Browse the repository at this point in the history
  • Loading branch information
Comamoca committed Dec 3, 2024
1 parent 81f0247 commit 1a902a1
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 0 deletions.
1 change: 1 addition & 0 deletions emacs.d/gitmoji.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"gitmojis":[{"emoji":"🎨","entity":"🎨","code":":art:","description":"Improve structure / format of the code.","name":"art","semver":null},{"emoji":"⚑️","entity":"⚡","code":":zap:","description":"Improve performance.","name":"zap","semver":"patch"},{"emoji":"πŸ”₯","entity":"🔥","code":":fire:","description":"Remove code or files.","name":"fire","semver":null},{"emoji":"πŸ›","entity":"🐛","code":":bug:","description":"Fix a bug.","name":"bug","semver":"patch"},{"emoji":"πŸš‘οΈ","entity":"🚑","code":":ambulance:","description":"Critical hotfix.","name":"ambulance","semver":"patch"},{"emoji":"✨","entity":"✨","code":":sparkles:","description":"Introduce new features.","name":"sparkles","semver":"minor"},{"emoji":"πŸ“","entity":"📝","code":":memo:","description":"Add or update documentation.","name":"memo","semver":null},{"emoji":"πŸš€","entity":"🚀","code":":rocket:","description":"Deploy stuff.","name":"rocket","semver":null},{"emoji":"πŸ’„","entity":"&#ff99cc;","code":":lipstick:","description":"Add or update the UI and style files.","name":"lipstick","semver":"patch"},{"emoji":"πŸŽ‰","entity":"🎉","code":":tada:","description":"Begin a project.","name":"tada","semver":null},{"emoji":"βœ…","entity":"✅","code":":white_check_mark:","description":"Add, update, or pass tests.","name":"white-check-mark","semver":null},{"emoji":"πŸ”’οΈ","entity":"🔒","code":":lock:","description":"Fix security or privacy issues.","name":"lock","semver":"patch"},{"emoji":"πŸ”","entity":"🔐","code":":closed_lock_with_key:","description":"Add or update secrets.","name":"closed-lock-with-key","semver":null},{"emoji":"πŸ”–","entity":"🔖","code":":bookmark:","description":"Release / Version tags.","name":"bookmark","semver":null},{"emoji":"🚨","entity":"🚨","code":":rotating_light:","description":"Fix compiler / linter warnings.","name":"rotating-light","semver":null},{"emoji":"🚧","entity":"🚧","code":":construction:","description":"Work in progress.","name":"construction","semver":null},{"emoji":"πŸ’š","entity":"💚","code":":green_heart:","description":"Fix CI Build.","name":"green-heart","semver":null},{"emoji":"⬇️","entity":"⬇️","code":":arrow_down:","description":"Downgrade dependencies.","name":"arrow-down","semver":"patch"},{"emoji":"⬆️","entity":"⬆️","code":":arrow_up:","description":"Upgrade dependencies.","name":"arrow-up","semver":"patch"},{"emoji":"πŸ“Œ","entity":"📌","code":":pushpin:","description":"Pin dependencies to specific versions.","name":"pushpin","semver":"patch"},{"emoji":"πŸ‘·","entity":"👷","code":":construction_worker:","description":"Add or update CI build system.","name":"construction-worker","semver":null},{"emoji":"πŸ“ˆ","entity":"📈","code":":chart_with_upwards_trend:","description":"Add or update analytics or track code.","name":"chart-with-upwards-trend","semver":"patch"},{"emoji":"♻️","entity":"♻","code":":recycle:","description":"Refactor code.","name":"recycle","semver":null},{"emoji":"βž•","entity":"➕","code":":heavy_plus_sign:","description":"Add a dependency.","name":"heavy-plus-sign","semver":"patch"},{"emoji":"βž–","entity":"➖","code":":heavy_minus_sign:","description":"Remove a dependency.","name":"heavy-minus-sign","semver":"patch"},{"emoji":"πŸ”§","entity":"🔧","code":":wrench:","description":"Add or update configuration files.","name":"wrench","semver":"patch"},{"emoji":"πŸ”¨","entity":"🔨","code":":hammer:","description":"Add or update development scripts.","name":"hammer","semver":null},{"emoji":"🌐","entity":"🌐","code":":globe_with_meridians:","description":"Internationalization and localization.","name":"globe-with-meridians","semver":"patch"},{"emoji":"✏️","entity":"","code":":pencil2:","description":"Fix typos.","name":"pencil2","semver":"patch"},{"emoji":"πŸ’©","entity":"","code":":poop:","description":"Write bad code that needs to be improved.","name":"poop","semver":null},{"emoji":"βͺ️","entity":"⏪","code":":rewind:","description":"Revert changes.","name":"rewind","semver":"patch"},{"emoji":"πŸ”€","entity":"🔀","code":":twisted_rightwards_arrows:","description":"Merge branches.","name":"twisted-rightwards-arrows","semver":null},{"emoji":"πŸ“¦οΈ","entity":"&#1F4E6;","code":":package:","description":"Add or update compiled files or packages.","name":"package","semver":"patch"},{"emoji":"πŸ‘½οΈ","entity":"&#1F47D;","code":":alien:","description":"Update code due to external API changes.","name":"alien","semver":"patch"},{"emoji":"🚚","entity":"&#1F69A;","code":":truck:","description":"Move or rename resources (e.g.: files, paths, routes).","name":"truck","semver":null},{"emoji":"πŸ“„","entity":"&#1F4C4;","code":":page_facing_up:","description":"Add or update license.","name":"page-facing-up","semver":null},{"emoji":"πŸ’₯","entity":"💥","code":":boom:","description":"Introduce breaking changes.","name":"boom","semver":"major"},{"emoji":"🍱","entity":"&#1F371","code":":bento:","description":"Add or update assets.","name":"bento","semver":"patch"},{"emoji":"♿️","entity":"♿","code":":wheelchair:","description":"Improve accessibility.","name":"wheelchair","semver":"patch"},{"emoji":"πŸ’‘","entity":"💡","code":":bulb:","description":"Add or update comments in source code.","name":"bulb","semver":null},{"emoji":"🍻","entity":"🍻","code":":beers:","description":"Write code drunkenly.","name":"beers","semver":null},{"emoji":"πŸ’¬","entity":"💬","code":":speech_balloon:","description":"Add or update text and literals.","name":"speech-balloon","semver":"patch"},{"emoji":"πŸ—ƒοΈ","entity":"🗃","code":":card_file_box:","description":"Perform database related changes.","name":"card-file-box","semver":"patch"},{"emoji":"πŸ”Š","entity":"🔊","code":":loud_sound:","description":"Add or update logs.","name":"loud-sound","semver":null},{"emoji":"πŸ”‡","entity":"🔇","code":":mute:","description":"Remove logs.","name":"mute","semver":null},{"emoji":"πŸ‘₯","entity":"👥","code":":busts_in_silhouette:","description":"Add or update contributor(s).","name":"busts-in-silhouette","semver":null},{"emoji":"🚸","entity":"🚸","code":":children_crossing:","description":"Improve user experience / usability.","name":"children-crossing","semver":"patch"},{"emoji":"πŸ—οΈ","entity":"&#1f3d7;","code":":building_construction:","description":"Make architectural changes.","name":"building-construction","semver":null},{"emoji":"πŸ“±","entity":"📱","code":":iphone:","description":"Work on responsive design.","name":"iphone","semver":"patch"},{"emoji":"🀑","entity":"🤡","code":":clown_face:","description":"Mock things.","name":"clown-face","semver":null},{"emoji":"πŸ₯š","entity":"🥚","code":":egg:","description":"Add or update an easter egg.","name":"egg","semver":"patch"},{"emoji":"πŸ™ˆ","entity":"&#8bdfe7;","code":":see_no_evil:","description":"Add or update a .gitignore file.","name":"see-no-evil","semver":null},{"emoji":"πŸ“Έ","entity":"📸","code":":camera_flash:","description":"Add or update snapshots.","name":"camera-flash","semver":null},{"emoji":"βš—οΈ","entity":"⚗","code":":alembic:","description":"Perform experiments.","name":"alembic","semver":"patch"},{"emoji":"πŸ”οΈ","entity":"🔍","code":":mag:","description":"Improve SEO.","name":"mag","semver":"patch"},{"emoji":"🏷️","entity":"🏷","code":":label:","description":"Add or update types.","name":"label","semver":"patch"},{"emoji":"🌱","entity":"🌱","code":":seedling:","description":"Add or update seed files.","name":"seedling","semver":null},{"emoji":"🚩","entity":"🚩","code":":triangular_flag_on_post:","description":"Add, update, or remove feature flags.","name":"triangular-flag-on-post","semver":"patch"},{"emoji":"πŸ₯…","entity":"🥅","code":":goal_net:","description":"Catch errors.","name":"goal-net","semver":"patch"},{"emoji":"πŸ’«","entity":"💫","code":":dizzy:","description":"Add or update animations and transitions.","name":"dizzy","semver":"patch"},{"emoji":"πŸ—‘οΈ","entity":"🗑","code":":wastebasket:","description":"Deprecate code that needs to be cleaned up.","name":"wastebasket","semver":"patch"},{"emoji":"πŸ›‚","entity":"🛂","code":":passport_control:","description":"Work on code related to authorization, roles and permissions.","name":"passport-control","semver":"patch"},{"emoji":"🩹","entity":"🩹","code":":adhesive_bandage:","description":"Simple fix for a non-critical issue.","name":"adhesive-bandage","semver":"patch"},{"emoji":"🧐","entity":"🧐","code":":monocle_face:","description":"Data exploration/inspection.","name":"monocle-face","semver":null},{"emoji":"⚰️","entity":"⚰","code":":coffin:","description":"Remove dead code.","name":"coffin","semver":null},{"emoji":"πŸ§ͺ","entity":"🧪","code":":test_tube:","description":"Add a failing test.","name":"test-tube","semver":null},{"emoji":"πŸ‘”","entity":"👔","code":":necktie:","description":"Add or update business logic.","name":"necktie","semver":"patch"},{"emoji":"🩺","entity":"🩺","code":":stethoscope:","description":"Add or update healthcheck.","name":"stethoscope","semver":null},{"emoji":"🧱","entity":"🧱","code":":bricks:","description":"Infrastructure related changes.","name":"bricks","semver":null},{"emoji":"πŸ§‘β€πŸ’»","entity":"🧑‍💻","code":":technologist:","description":"Improve developer experience.","name":"technologist","semver":null},{"emoji":"πŸ’Έ","entity":"💸","code":":money_with_wings:","description":"Add sponsorships or money related infrastructure.","name":"money-with-wings","semver":null},{"emoji":"🧡","entity":"🧵","code":":thread:","description":"Add or update code related to multithreading or concurrency.","name":"thread","semver":null},{"emoji":"🦺","entity":"🦺","code":":safety_vest:","description":"Add or update code related to validation.","name":"safety-vest","semver":null}]}
25 changes: 25 additions & 0 deletions emacs.d/init.el
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,31 @@
(leaf gleam-ts-mode :ensure t)

;; ======================= My Configuration =======================
;; ================ My extentions ================

(defun gitmoji-completion ()
(let ((bounds (bounds-of-thing-at-point 'word)))
(when bounds
(let* ((gitmoji-file-path "~/.emacs.d/gitmoji.json")
(gitmoji-file
(with-temp-buffer
(insert-file-contents gitmoji-file-path)
(buffer-substring-no-properties (point-min) (point-max))))
(gitmoji-json (json-parse-string gitmoji-file))
(gitmojis (gethash "gitmojis" gitmoji-json))
(gitmoji-codes (mapcar (lambda (item)
;; Remove leading β€œ:”
(substring item 1))
(mapcar (lambda (item)
(gethash "code" item)) gitmojis))))
(list (car bounds) (cdr bounds)
gitmoji-codes
:exclusive 'no)))))


(add-hook 'git-commit-mode-hook (lambda ()
(setq-local completion-at-point-functions #'gitmoji-completion)))


(electric-pair-mode 1)

Expand Down

0 comments on commit 1a902a1

Please sign in to comment.