MacDownApp / MacDownApp/macdown

Support for macOS'es system wide on the fly text replacements

Open
#1,278 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rich Text Format
Stars
9.8k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

## Problem
- System Preferences > Keyboard > Text
- The text replacements configured here work in almost all Mac apps (if Cocoa based)
- But not in MacDown as of 0.7.3, see video:

https://user-images.githubusercontent.com/737143/143026080-ca33223d-f6b7-4639-b71d-7df7fc691504.mp4

## UX Design Rationale
- MacOS'es on the fly text replacement should in theory not be in conflict with MarkDown's real time parsing and rendering.
- Because while you type macOS by default passes on the input unmanipulated and shows the preview in the bubble above, only when entering a SPACE the transformation happens.
- And you as a user can avoid this by pressing ESC as long as the preview bubble is still there.
- I see no usability conflict.

## Considerations
- But I do not know the inner workings of MacDown and maybe such a seemingly small thing is more tricky than I imagine.
- If it is overally ok, but some edge cases conflicts are possible, let me tell you:
- I'd be ok with a preference option "Use macOS text replacements" which by default is off and can be enabled for those who want it and are willing to accept possible side effects.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file, test, or entry point is named. First inspect MacDown’s Cocoa text-input handling and determine whether macOS text replacements can work without conflicting with live Markdown rendering. Done means replacements work in MacDown, with any preference behavior and edge cases addressed.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, objective-c
Domain
desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.