Notes on CodeMirror
Pages 200
- Home
- [archives] Health report data aug 2015
- [archives] Health report data jul 2015
- API Cleanup Ideas
- Areas of Expertise
- Brackets 5 15 2012 Hackathon Notes
- Brackets CodeMirror v4 Migration Guide
- Brackets Coding Conventions
- Brackets Committer Policy
- Brackets Communication Channels
- Brackets Community Testing
- Brackets Developers Guide
- Brackets Development How Tos
- Brackets Extensions
- Brackets in Browser
- Brackets JSDocs Guidelines
- Brackets Linux Guide
- Brackets Node Process: Overview for Developers
- Brackets Screenshots
- Brackets Server Smoke Tests
- Brackets shell command line arguments (proposal)
- Brackets Shortcuts
- Brackets Smoke Tests
- Building Brackets Releases
- Building CEF and Chromium
- Cache Folder
- CEF Debugging
- CEF3 vs. Chromium Content Shell
- Code Hinting API Investigation
- Code Hinting Functional Specifications
- CodeMirror v4 Integration
- Collecting End of Sprint Stats
- Command Line Arguments
- Commands, Menus and Shortcuts Implementation
- Contributing to Brackets
- Crash Logs
- Creating and Posting Brackets Hotfix Releases
- Creating Themes
- CSS Context API implementation spec
- CSSUtils, HTMLUtils
- Customize Your Code Font
- Debugging Brackets
- Debugging Test Windows in Unit Tests
- Dependency Analysis
- Extension API Research
- Extension Dependencies
- Extension Experiments
- Extension Icon Guidelines
- Extension Locations
- Extension Manager Workflows
- Extension package format
- Extension Package Manager Research
- Extension Registry Architecture
- Extension Registry Help
- Extension Repository Server API
- Extension Robustness
- Extension Testing Recommendations for SplitView
- Extension UI Guidelines
- Extension Unit Tests
- Extensions2
- File System
- File System API Migration
- File System Implementations
- File system watcher requirements
- Generating Brackets API Docs
- Google Summer of Code 2013 Project Ideas
- Grunt Setup
- Health Data
- Health Report Data
- How to Hack on Brackets
- How to Report an Issue
- How to Use Brackets
- How to write extensions
- Inline Color Editor
- Issue Clusters 1.0 Milestone
- IssueClusters
- JavaScript Code Hints
- Keyboard Shortcuts
- Language Support
- Language Support Changes
- Large Projects
- Linux Development for Contributors
- Linux Version
- Live Development: lifecycle research and future directions
- Live Development: Research for live JavaScript
- Live Preview API
- Live Preview Multibrowser
- Live Preview Overview
- Live Preview URL Mapping
- Localization
- Localization Tests
- Migrating or Syncing Brackets Configuration
- ModuleLoader
- New Code Hinting API Proposal
- Notes on CodeMirror
- Performance Metrics: JavaScript Inline Editors
- Performance Profiling
- Performance Testing
- Performance Tests Procedure
- Preferences
- Preferences Code Hints for Developers
- Preferences Overview
- Preferences System
- Preview Images Research old drafts
- Preview Images Spec
- Programmatically Opening Files in Brackets
- Pull Request Checklist
- Pull Request Process
- Pull Request Review Checklist
- Related Documents
- Release Notes
- Release Notes: 0.40
- Release Notes: 0.41
- Release Notes: 0.42
- Release Notes: 0.43
- Release Notes: 0.44
- Release Notes: 1.0
- Release Notes: 1.1
- Release Notes: 1.10
- Release Notes: 1.2
- Release Notes: 1.3
- Release Notes: 1.4
- Release Notes: 1.5
- Release Notes: 1.6
- Release Notes: 1.7
- Release Notes: 1.8
- Release Notes: 1.9
- Release notes: sprint 10
- Release notes: Sprint 11
- Release notes: Sprint 12
- Release notes: Sprint 13
- Release notes: Sprint 14
- Release Notes: Sprint 15
- Release Notes: Sprint 16
- Release Notes: Sprint 17
- Release Notes: Sprint 18
- Release Notes: Sprint 19
- Release Notes: Sprint 20
- Release Notes: Sprint 21
- Release Notes: Sprint 22
- Release notes: sprint 23
- Release Notes: Sprint 24
- Release Notes: Sprint 25
- Release Notes: Sprint 26
- Release Notes: Sprint 27
- Release Notes: Sprint 28
- Release Notes: Sprint 29
- Release Notes: Sprint 30
- Release Notes: Sprint 31
- Release Notes: Sprint 32
- Release Notes: Sprint 33
- Release Notes: Sprint 34
- Release Notes: Sprint 34.1
- Release Notes: Sprint 35
- Release Notes: Sprint 36
- Release Notes: Sprint 37
- Release Notes: Sprint 38
- Release Notes: Sprint 39
- Release Notes: Sprint 7
- Release Notes: Sprint 8
- Release notes: sprint 9
- Research: CodeMirror document linking
- Research: Design Alternatives for Split View
- Research: Drag and Drop from Finder
- Research: Extension Management
- Research: Find Replace
- Research: HTML DOM Data Structure
- Research: jQuery 2.0 Upgrade
- Research: Multiple cursors and selections
- Research: Node.JS Integration
- RESEARCH: Preference Format
- Research: Simplified LESS Support
- Research: Topcoat
- Resources
- Running Brackets Unit Tests
- Running Jasmine tests from the command line for Linux
- Simple "Hello World" extension
- Spec: Native Installers
- SplitView Architecture Notes
- SplitView Architecture Tasking
- SplitView Extension Migration Guide
- SplitView Proposed Architecture
- Suggest a Feature
- Tech Summit Product Fair Brackets
- Testing Brackets
- Testing Pritam's Linux build
- Themes
- Translations community assistance
- Troubleshooting
- Typing Speed Mini Spec
- Upgrading CodeMirror from Upstream
- User Key Bindings
- Using File Filters
- Videos
- Working with fsevents_win.node
- Working with Multiple Selections
- ZZZ (OBSOLETE) CodeMirror v3 integration
- افزونه ها در براکتس به چه معناست؟
- براکتس چیست؟
- 如何开发插件
- Show 185 more pages…
Clone this wiki locally
The core text editor in Brackets is CodeMirror. The Brackets team has submitted or contributed to a number of features and bug fixes in CodeMirror, and has also given input into the design of features like line widgets, document/view separation and multiple selections.
Currently, Brackets uses a fork of CodeMirror as a submodule. Originally, we created our own fork to hold a number of experimental features that Brackets implemented (including a prototype implementation of inline widgets) that we hadn't yet contributed upstream. Now that the upstream CodeMirror repo has versions of these features, we generally keep Brackets in sync with the upstream version.
In general, the master branch in our fork (adobe/CodeMirror2) is updated to match upstream/master at the beginning of each release, and we don't do any work in master ourselves. Usually we keep the Brackets submodule pointed at master, but in cases where there are
last-minute upstream changes that we don't want to pull into a given sprint, and we need other fixes,
we sometimes make short-lived sprint branches.
For bugfixes we want to make in CM, we generally submit pull requests directly to the main CodeMirror repo, then pull them down once they've been merged upstream. Similarly, if you have fixes you need in CodeMirror, please submit them upstream (you can file an issue with us to let us know that it's important for us to merge it soon, or refer to your upstream fix from a dependent pull request). We generally won't accept pull requests directly into our CodeMirror fork.
Note that we have not renamed the submodule or the repo to reflect the current naming of the upstream repo--it's still "CodeMirror2", since that was the old name of the upstream repo when we started Brackets. This renaming is a bit tricky and isn't urgent, so we probably won't bother. See this Google Group thread for more info.