Permalink
...
kasperpeulen
commented on
kasperpeulen
commented on
Comparing changes
Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Choose a Base Repository
codemirror/CodeMirror
Benvie/CodeMirror
BrendonSled/CodeMirror2
Brijen/CodeMirror2
CodePen/CodeMirrorEditor
DarioGT/CodeMirror2
GerHobbelt/CodeMirror2
GordonSmith/CodeMirror2
Gozala/CodeMirror
Kodowa/CodeMirror
MariusKarthaus/CodeMirror2
MichaelaIvanova/CodeMirror
NV/CodeMirror
Naatan/CodeMirror2
Nahrae/CodeMirror
Necrathex/CodeMirror2
NikhilS/CodeMirror2
Page-/CodeMirror2
ProPuke/CodeMirror2
Raynes/CodeMirror2
SimonWaldherrArchive/CodeMirror2
Suor/CodeMirror2
TheColorRed/CodeMirror2
TypedLambda/CodeMirror2
Visheshk/CodeMirror2
WebKutir/CodeMirror2
WolfgangKluge/CodeMirror2
achicu/CodeMirror2
adam-singer/CodeMirror2
adanlobato/CodeMirror2
adobe/CodeMirror2
aklaswad/CodeMirror2
alexey-k/CodeMirror2
amphro/CodeMirror2
ananyasen/CodeMirror2
andrecharland/CodeMirror2
ankit/CodeMirror2
areos/CodeMirror2
atul-bhouraskar/CodeMirror2
axtro/CodeMirror2
ayachi/CodeMirror2
benbunk/CodeMirror2
bengillies/CodeMirror2
billortell/CodeMirror2
blackvladimir/CodeMirror2
bnowel/CodeMirror2
borawjm/CodeMirror2
botelho/CodeMirror
bridger/CodeMirror2
bsletten/CodeMirror2
capacman/CodeMirror2
captn3m0/CodeMirror2
cethap/CodeMirror2
charles-cai/CodeMirror2
charlieroberts/CodeMirror2
chendeng/CodeMirror2
chris-morgan/CodeMirror2
cicloid/CodeMirror2
ciptard/CodeMirror2
clarkbox/CodeMirror2
clemos/CodeMirror2
cliffkoh/CodeMirror2
cloudgiant/CodeMirror2
codio/CodeMirror
contributed/CodeMirror2
dbja/CodeMirror2
deebugger/CodeMirror2
djiang/CodeMirror2
dparnell/CodeMirror2
durdn/CodeMirror2
dxw/CodeMirror2
dynosmurf/CodeMirror2
dyoo/CodeMirror2
ekhaled/CodeMirror2
espadrine/CodeMirror
est/CodeMirror2
existdissolve/CodeMirror2
fbuchinger/CodeMirror2
felmoon/CodeMirror2
femhub/CodeMirror2
flyabroad/CodeMirror2
fourchette/CodeMirror2
fpo123/CodeMirror2
fprochazka/CodeMirror2
frawa/TestCodeMirror2
fzzr-/CodeMirror2
galambalazs/CodeMirror2
gavriguy/CodeMirror2
greengiant/CodeMirror2
gzdw/CodeMirror2
hans/CodeMirror2
hanxianlong/CodeMirror2
ibdknox/CodeMirror
idflood/CodeMirror2
iee/CodeMirror2
infinnity/CodeMirror2
ingrid/CodeMirror2
j6mes/CodeMirror2
jankeromnes/CodeMirror
jasondavis/CodeMirror2
jbrinkman/CodeMirror2
jem/CodeMirror2
jenlure/CodeMirror2
jimmyoneill/CodeMirror2
jmwong/CodeMirror2
jongalloway/CodeMirror2
jots/CodeMirror2
joycse06/CodeMirror2
jurisv/CodeMirror2
kaniga/CodeMirror2
kasei/CodeMirror2
kjetilk/CodeMirror2
koide/CodeMirror2
koops/CodeMirror2
krockot/CodeMirror2
larscwallin/CodeMirror2
leafo/CodeMirror2
lgastako/CodeMirror2
lm/CodeMirror2
lopuhin/CodeMirror2
luojun/CodeMirror2
maks/CodeMirror2
mamboer/CodeMirror2
manyanlong/CodeMirror2
martn/CodeMirror2
massemanet/CodeMirror
maxkirsch/CodeMirror2
mb-crt/CodeMirror2
mbarkhau/CodeMirror2
mbrevoort/CodeMirror2-xquery
mcelrath/CodeMirror2
metzen/CodeMirror2
michalliu/CodeMirror2
michelemostarda/CodeMirror2
mimecuvalo/CodeMirror2
misfo/CodeMirror2
moon2l/CodeMirror2
movabletype/CodeMirror2
mozes/CodeMirror2
mwmessin/CodeMirror2
mwpark/CodeMirror2
mylittletools/CodeMirror2
mzero/CodeMirror2
nathansobo/CodeMirror2
nazriel/CodeMirror2
ndebeiss/CodeMirror2
nguillaumin/CodeMirror2
nitrous-io-zz/CodeMirror
njx/CodeMirror
nlwillia/CodeMirror2
nvdnkpr/CodeMirror2
onkis/CodeMirror2
oozou/CodeMirror2
openube/CodeMirror2
oxling/CodeMirror2
panchalmukundak/CodeMirror2
pavelfeldman/CodeMirror
peteguhl/CodeMirror2
peterarmstrong/CodeMirror2
peterkroon/CodeMirror2
pombredanne/CodeMirror2
pplaquette/CodeMirror2
purplecabbage/CodeMirror2
rascalmicro/CodeMirror2
rduenasf/CodeMirror2
robermorales/CodeMirror2
robhawkes/CodeMirror2
samuela/CodeMirror2
satchit/CodeMirror2
seanmcgary/CodeMirror2
siefkenj/CodeMirror2
simoneau/CodeMirror2
skirmish/CodeMirror2
skoon/CodeMirror2
sourcelair/CodeMirror
sparkartgroup-archive/CodeMirror2
strax/CodeMirror2
syntagmatic/CodeMirror2
tarr11/CodeMirror2
timelyportfolio/codemirrorR
timjb/CodeMirror
tpiccinini/CodeMirror2
treeform/CodeMirror2
ttscoff/CodeMirror2
tvoliter/CodeMirror2
uboness/CodeMirror2
utahguy/CodeMirror2
vegastexteditor/CodeMirror2
vestimir/CodeMirror2
vmx/CodeMirror2
vodori/CodeMirror2
waywardmonkeys/CodeMirror
whalefood/CodeMirror2
wmchristie/CodeMirror2
wwwlicious/CodeMirror2
xsocher/CodeMirror2
youngrok/CodeMirror2
zarazi/CodeMirror2
zires/CodeMirror2
zptcsoft/CodeMirror
Nothing to show
Choose a base branch
Nothing to show
Choose a Head Repository
codemirror/CodeMirror
Benvie/CodeMirror
BrendonSled/CodeMirror2
Brijen/CodeMirror2
CodePen/CodeMirrorEditor
DarioGT/CodeMirror2
GerHobbelt/CodeMirror2
GordonSmith/CodeMirror2
Gozala/CodeMirror
Kodowa/CodeMirror
MariusKarthaus/CodeMirror2
MichaelaIvanova/CodeMirror
NV/CodeMirror
Naatan/CodeMirror2
Nahrae/CodeMirror
Necrathex/CodeMirror2
NikhilS/CodeMirror2
Page-/CodeMirror2
ProPuke/CodeMirror2
Raynes/CodeMirror2
SimonWaldherrArchive/CodeMirror2
Suor/CodeMirror2
TheColorRed/CodeMirror2
TypedLambda/CodeMirror2
Visheshk/CodeMirror2
WebKutir/CodeMirror2
WolfgangKluge/CodeMirror2
achicu/CodeMirror2
adam-singer/CodeMirror2
adanlobato/CodeMirror2
adobe/CodeMirror2
aklaswad/CodeMirror2
alexey-k/CodeMirror2
amphro/CodeMirror2
ananyasen/CodeMirror2
andrecharland/CodeMirror2
ankit/CodeMirror2
areos/CodeMirror2
atul-bhouraskar/CodeMirror2
axtro/CodeMirror2
ayachi/CodeMirror2
benbunk/CodeMirror2
bengillies/CodeMirror2
billortell/CodeMirror2
blackvladimir/CodeMirror2
bnowel/CodeMirror2
borawjm/CodeMirror2
botelho/CodeMirror
bridger/CodeMirror2
bsletten/CodeMirror2
capacman/CodeMirror2
captn3m0/CodeMirror2
cethap/CodeMirror2
charles-cai/CodeMirror2
charlieroberts/CodeMirror2
chendeng/CodeMirror2
chris-morgan/CodeMirror2
cicloid/CodeMirror2
ciptard/CodeMirror2
clarkbox/CodeMirror2
clemos/CodeMirror2
cliffkoh/CodeMirror2
cloudgiant/CodeMirror2
codio/CodeMirror
contributed/CodeMirror2
dbja/CodeMirror2
deebugger/CodeMirror2
djiang/CodeMirror2
dparnell/CodeMirror2
durdn/CodeMirror2
dxw/CodeMirror2
dynosmurf/CodeMirror2
dyoo/CodeMirror2
ekhaled/CodeMirror2
espadrine/CodeMirror
est/CodeMirror2
existdissolve/CodeMirror2
fbuchinger/CodeMirror2
felmoon/CodeMirror2
femhub/CodeMirror2
flyabroad/CodeMirror2
fourchette/CodeMirror2
fpo123/CodeMirror2
fprochazka/CodeMirror2
frawa/TestCodeMirror2
fzzr-/CodeMirror2
galambalazs/CodeMirror2
gavriguy/CodeMirror2
greengiant/CodeMirror2
gzdw/CodeMirror2
hans/CodeMirror2
hanxianlong/CodeMirror2
ibdknox/CodeMirror
idflood/CodeMirror2
iee/CodeMirror2
infinnity/CodeMirror2
ingrid/CodeMirror2
j6mes/CodeMirror2
jankeromnes/CodeMirror
jasondavis/CodeMirror2
jbrinkman/CodeMirror2
jem/CodeMirror2
jenlure/CodeMirror2
jimmyoneill/CodeMirror2
jmwong/CodeMirror2
jongalloway/CodeMirror2
jots/CodeMirror2
joycse06/CodeMirror2
jurisv/CodeMirror2
kaniga/CodeMirror2
kasei/CodeMirror2
kjetilk/CodeMirror2
koide/CodeMirror2
koops/CodeMirror2
krockot/CodeMirror2
larscwallin/CodeMirror2
leafo/CodeMirror2
lgastako/CodeMirror2
lm/CodeMirror2
lopuhin/CodeMirror2
luojun/CodeMirror2
maks/CodeMirror2
mamboer/CodeMirror2
manyanlong/CodeMirror2
martn/CodeMirror2
massemanet/CodeMirror
maxkirsch/CodeMirror2
mb-crt/CodeMirror2
mbarkhau/CodeMirror2
mbrevoort/CodeMirror2-xquery
mcelrath/CodeMirror2
metzen/CodeMirror2
michalliu/CodeMirror2
michelemostarda/CodeMirror2
mimecuvalo/CodeMirror2
misfo/CodeMirror2
moon2l/CodeMirror2
movabletype/CodeMirror2
mozes/CodeMirror2
mwmessin/CodeMirror2
mwpark/CodeMirror2
mylittletools/CodeMirror2
mzero/CodeMirror2
nathansobo/CodeMirror2
nazriel/CodeMirror2
ndebeiss/CodeMirror2
nguillaumin/CodeMirror2
nitrous-io-zz/CodeMirror
njx/CodeMirror
nlwillia/CodeMirror2
nvdnkpr/CodeMirror2
onkis/CodeMirror2
oozou/CodeMirror2
openube/CodeMirror2
oxling/CodeMirror2
panchalmukundak/CodeMirror2
pavelfeldman/CodeMirror
peteguhl/CodeMirror2
peterarmstrong/CodeMirror2
peterkroon/CodeMirror2
pombredanne/CodeMirror2
pplaquette/CodeMirror2
purplecabbage/CodeMirror2
rascalmicro/CodeMirror2
rduenasf/CodeMirror2
robermorales/CodeMirror2
robhawkes/CodeMirror2
samuela/CodeMirror2
satchit/CodeMirror2
seanmcgary/CodeMirror2
siefkenj/CodeMirror2
simoneau/CodeMirror2
skirmish/CodeMirror2
skoon/CodeMirror2
sourcelair/CodeMirror
sparkartgroup-archive/CodeMirror2
strax/CodeMirror2
syntagmatic/CodeMirror2
tarr11/CodeMirror2
timelyportfolio/codemirrorR
timjb/CodeMirror
tpiccinini/CodeMirror2
treeform/CodeMirror2
ttscoff/CodeMirror2
tvoliter/CodeMirror2
uboness/CodeMirror2
utahguy/CodeMirror2
vegastexteditor/CodeMirror2
vestimir/CodeMirror2
vmx/CodeMirror2
vodori/CodeMirror2
waywardmonkeys/CodeMirror
whalefood/CodeMirror2
wmchristie/CodeMirror2
wwwlicious/CodeMirror2
xsocher/CodeMirror2
youngrok/CodeMirror2
zarazi/CodeMirror2
zires/CodeMirror2
zptcsoft/CodeMirror
Nothing to show
Choose a head branch
Nothing to show
22
contributors
Commits on Mar 23, 2015
|
|
marijnh |
Bump version number post-5.1.0
|
b659af9
|
Commits on Mar 24, 2015
|
|
marijnh |
Add a hack to catch Firefox context-menu undo
Issue #3142 |
dc49363
|
|||
|
|
ju1ius + marijnh |
[panel addon] Add more options for panel positioning
|
79e162b
|
|||
|
|
marijnh |
[panel addon] Make coding style conform
|
e0cf6f8
|
|||
|
|
Martin Hunt + marijnh |
[lint addon] add support for jshint globals option
`options` with a `globals` key as defined in a standard `.jshintrc` is actually separated into two arguments to the `JSHINT` function in the `jshint` cli: `https://github.com/gameclosure/jshint/blob/master/src/cli.js#L487`. This forwards `options.globals` properly to `JSHINT`. |
8b5e659
|
Commits on Mar 25, 2015
|
|
marijnh |
Fix cut/copy from context menu
Issue #3142 |
e0fb2b3
|
Commits on Mar 26, 2015
|
|
clohfink + marijnh |
[sql mode] Update for CQL 3.1
|
f741b59
|
|||
|
|
marijnh |
Prevent select-all from firing when picking undo from context menu on…
… Webkit Issue #3142 |
8757ba2
|
Commits on Mar 29, 2015
Commits on Mar 30, 2015
|
|
marijnh |
[show-hint addon] Allow recovery from typo that causes no matching co…
…mpletions Backspace now brings back the completion widget. Closes #3162 |
6c27bc7
|
|||
|
|
marijnh |
[show-hint addon] Don't hide completion widget while waiting for update
And do capture enter presses in this time to allow quickfire completion. Issue #3157 |
e29fecf
|
Commits on Mar 31, 2015
|
|
marijnh |
Use alt as the copy modifier for dragging text on Mac
Issue #3151 |
2dd1762
|
|||
|
|
MarcelGerber + marijnh |
[less mode] Enable interpolation
|
12dbe83
|
|||
|
|
marijnh |
[css mode] Fix Less-style interpolation
Issue #3164 |
26ec5f3
|
|||
|
|
marijnh |
Fix linter
|
31bcedc
|
|||
|
|
marijnh |
Allow dragDrop option to be dynamically changed
Issue #3167 |
f70a833
|
|||
|
|
marijnh |
Delay focusing of textarea to end of operation when possible
So that the hidden textarea is actually near the cursor when it gets focused, and doesn't cause weird scroll jumps. |
c0b371c
|
|||
|
|
LloydMilligan + marijnh |
[mumps mode] Add
|
f16e638
|
|||
|
|
marijnh |
[mumps mode] Clean up and integrate
|
dd2d5f3
|
Commits on Apr 01, 2015
Commits on Apr 02, 2015
|
|
marijnh |
[matchesonscrollbar addon] Support a maxMatches option
|
4fb97fe
|
|||
|
|
marijnh |
Make sure refocusing at end of operation doesn't steal focus
... from an element focused by an event handler. Fixes the dialog addon. |
05cef7b
|
Commits on Apr 05, 2015
Commits on Apr 07, 2015
|
|
dmitrykiselyov + marijnh |
[stylus mode] Fix indentation after a var with the $
For example:
v1 = $v2
|new line
body
color $c
|new line |
a726389
|
Commits on Apr 09, 2015
|
|
nightwing |
[vim] fix ct command
|
d9c9377
|
Commits on Apr 10, 2015
|
|
marijnh |
Properly draw zero-length replaced markers
|
9e3c517
|
|||
|
|
marijnh |
[textarea input] Directly handle IME events
|
f516823
|
|||
|
|
marijnh |
[textarea input] Different approach to IME input
|
40b5625
|
|||
|
|
marijnh |
[smarty mode] Prevent outer mode from getting confused by Smarty tags
Issue #3186 |
34d8dc4
|
|||
|
|
marijnh |
Add electricInput event
Closes #3188 |
f6e516f
|
|||
|
|
marijnh |
[show-hint addon] Fix more race conditions
Clean up duplicated logic Issue #3189 |
0a83a4b
|
|||
|
|
marijnh |
Only treat fast clicks on selection as cursor-placing
So that dragging and then coming back to origin point does not clear the selection. Issue #3151 |
ee5d717
|
|||
|
|
libo + marijnh |
[handlebars mode] Add
|
f7a00e0
|
Commits on Apr 12, 2015
|
|
dbarnett + mightyguava |
[vim] Exit vim ex/search on last backspace and clear input with Ctrl-U
|
a405048
|
|||
|
|
mightyguava |
[vim] Allow options to have callbacks
|
ddbf33f
|
Commits on Apr 13, 2015
|
|
MarcelGerber + marijnh |
[manual] Remove description of `crudeMeasuringFrom` option
It was removed in 957771b |
4febeb3
|
|||
|
|
parisk + marijnh |
[django mode] Rewrite and improve
- Add string recognition - Include (most probably) all built-in template tags - Return null as fallback - Operator highlighting - Change demo theme to `mdn-like` which sports richer highlighting. - Highlight comments - Define `blockCommentStart` and `blockCommentEnd` |
e22891b
|
|||
|
|
KermMartian + marijnh |
[z80 mode] Improved, fixed ASM example, added ez80 mode
|
5c90705
|
|||
|
|
mtaran-google + marijnh |
[python mode] better highlighting for and/or/not
Currently and/or/not in most themes look like normal text because cm-operator doesn't usually get special styling. This patch highlights them as keywords to make them stand out better. |
2e16ef6
|
|||
|
|
mtaran-google + marijnh |
[clike mode] Remove C 'entry' keyword
It was never standardized and is no longer a reserved word: http://publications.gbdirect.co.uk/c_book/chapter2/keywords_and_identifiers.html |
5f44dd5
|
|||
|
|
marijnh |
[multiplex addon] Add parseDelimiters option
And change handlebars demo to use it. |
9c524fd
|
Commits on Apr 14, 2015
|
|
amshali + marijnh |
[search addon] Preserve the last search query.
|
82e86ef
|
|||
|
|
marijnh |
[search addon] Clean up previous patch
Issue #3204 |
d6318cb
|
Commits on Apr 15, 2015
Commits on Apr 16, 2015
|
|
Crisfole + marijnh |
[sql mode] Add `declare` keyword for TSQL
|
7ea815d
|
|||
|
|
marijnh |
[vim keymap] Fix missing semicolons
|
a3636f3
|
Commits on Apr 17, 2015
|
|
dbarnett + mightyguava |
Add support for configuring language mode via vim 'filetype' setting
|
346d16c
|
|||
|
|
mightyguava |
[vim] Make option aliases for programmatic option API
|
2c45249
|
Commits on Apr 18, 2015
|
|
dbarnett + mightyguava |
Add support for controlling theme with vim :colorscheme command
|
de9393f
|
Commits on Apr 20, 2015
|
|
martinstarman + marijnh |
[real-world uses] Add Kotlin
|
b91eb91
|
|||
|
|
JonasDoebertin + marijnh |
[markdown mode] Include optional space character after atx style head…
…ers in formatting This changes will make the optional space character after ATX style headers be included within the `cm-formatting` element. |
21e6d2f
|
|||
|
|
marijnh |
[manual] Fix inaccuate claim that getModeAt exists on docs
Issue #3214 |
59ccdda
|
|||
|
|
marijnh |
Mark release 5.2.0
|
8deccbd
|
Unified
Split
Showing
with
1,620 additions
and 334 deletions.
- +15 −0 AUTHORS
- +22 −4 addon/display/panel.js
- +5 −5 addon/edit/continuelist.js
- +63 −65 addon/hint/show-hint.js
- +1 −1 addon/lint/javascript-lint.js
- +14 −9 addon/mode/multiplex.js
- +19 −4 addon/scroll/annotatescrollbar.js
- +3 −1 addon/search/matchesonscrollbar.js
- +7 −4 addon/search/search.js
- +2 −2 addon/search/searchcursor.js
- +4 −2 bower.json
- +97 −25 demo/panel.html
- +3 −3 demo/tern.html
- +2 −0 demo/theme.html
- +3 −0 doc/compress.html
- +53 −25 doc/manual.html
- +2 −0 doc/realworld.html
- +17 −2 doc/releases.html
- +2 −2 index.html
- +1 −1 keymap/sublime.js
- +117 −23 keymap/vim.js
- +2 −0 lib/codemirror.css
- +92 −39 lib/codemirror.js
- +1 −1 mode/clike/clike.js
- +3 −1 mode/css/css.js
- +3 −0 mode/css/less_test.js
- +1 −1 mode/css/scss_test.js
- +307 −24 mode/django/django.js
- +27 −17 mode/django/index.html
- +53 −0 mode/handlebars/handlebars.js
- +83 −0 mode/handlebars/index.html
- +2 −0 mode/index.html
- +5 −1 mode/javascript/javascript.js
- +15 −13 mode/markdown/markdown.js
- +1 −1 mode/markdown/test.js
- +1 −0 mode/meta.js
- +85 −0 mode/mumps/index.html
- +148 −0 mode/mumps/mumps.js
- +2 −4 mode/python/python.js
- +17 −6 mode/smarty/smarty.js
- +3 −3 mode/soy/soy.js
- +4 −4 mode/sql/sql.js
- +8 −3 mode/stylus/stylus.js
- +8 −7 mode/z80/index.html
- +34 −18 mode/z80/z80.js
- +1 −1 package.json
- +10 −2 test/test.js
- +155 −8 test/vim_test.js
- +95 −0 theme/liquibyte.css
- +1 −1 theme/monokai.css
- +1 −1 theme/solarized.css
View
15
AUTHORS
| @@ -25,6 +25,7 @@ Alexandre Bique | ||
| alexey-k | ||
| Alex Piggott | ||
| Aliaksei Chapyzhenka | ||
| +Amin Shali | ||
| Amsul | ||
| amuntean | ||
| Amy | ||
| @@ -81,10 +82,13 @@ Cheah Chu Yeow | ||
| Chris Coyier | ||
| Chris Granger | ||
| Chris Houseknecht | ||
| +Chris Lohfink | ||
| Chris Morgan | ||
| Christian Oyarzun | ||
| Christian Petrov | ||
| Christopher Brown | ||
| +Christopher Mitchell | ||
| +Christopher Pfohl | ||
| ciaranj | ||
| CodeAnimal | ||
| coderaiser | ||
| @@ -106,6 +110,7 @@ Danny Yoo | ||
| darealshinji | ||
| Darius Roberts | ||
| Dave Myers | ||
| +David Barnett | ||
| David Mignot | ||
| David Pathakjee | ||
| David Vázquez | ||
| @@ -182,6 +187,7 @@ ilvalle | ||
| Ingo Richter | ||
| Irakli Gozalishvili | ||
| Ivan Kurnosov | ||
| +Ivoah | ||
| Jacob Lee | ||
| Jakob Miland | ||
| Jakub Vrana | ||
| @@ -213,6 +219,7 @@ John Connor | ||
| John Lees-Miller | ||
| John Snelson | ||
| John Van Der Loo | ||
| +Jonas Döbertin | ||
| Jonathan Malmaud | ||
| jongalloway | ||
| Jon Malmaud | ||
| @@ -223,6 +230,7 @@ Joshua Newman | ||
| Josh Watzman | ||
| jots | ||
| jsoojeon | ||
| +ju1ius | ||
| Juan Benavides Romero | ||
| Jucovschi Constantin | ||
| Juho Vuori | ||
| @@ -250,6 +258,8 @@ Leonid Khachaturov | ||
| Leon Sorokin | ||
| Leonya Khachaturov | ||
| Liam Newman | ||
| +Libo Cannici | ||
| +LloydMilligan | ||
| LM | ||
| lochel | ||
| Lorenzo Stoakes | ||
| @@ -274,6 +284,7 @@ Marko Bonaci | ||
| Martin Balek | ||
| Martín Gaitán | ||
| Martin Hasoň | ||
| +Martin Hunt | ||
| Mason Malone | ||
| Mateusz Paprocki | ||
| Mathias Bynens | ||
| @@ -292,6 +303,7 @@ Max Xiantu | ||
| mbarkhau | ||
| Metatheos | ||
| Micah Dubinko | ||
| +Michael Grey | ||
| Michael Lehenbauer | ||
| Michael Zhou | ||
| Mighty Guava | ||
| @@ -308,6 +320,7 @@ misfo | ||
| mloginov | ||
| Moritz Schwörer | ||
| mps | ||
| +ms | ||
| mtaran-google | ||
| Narciso Jaramillo | ||
| Nathan Williams | ||
| @@ -319,6 +332,7 @@ nguillaumin | ||
| Ng Zhi An | ||
| Nicholas Bollweg | ||
| Nicholas Bollweg (Nick) | ||
| +Nick Kreeger | ||
| Nick Small | ||
| Niels van Groningen | ||
| nightwing | ||
| @@ -333,6 +347,7 @@ pablo | ||
| Page | ||
| Panupong Pasupat | ||
| paris | ||
| +Paris | ||
| Patil Arpith | ||
| Patrick Stoica | ||
| Patrick Strawderman | ||
View
26
addon/display/panel.js
| @@ -10,13 +10,31 @@ | ||
| mod(CodeMirror); | ||
| })(function(CodeMirror) { | ||
| CodeMirror.defineExtension("addPanel", function(node, options) { | ||
| + options = options || {}; | ||
| + | ||
| if (!this.state.panels) initPanels(this); | ||
| var info = this.state.panels; | ||
| - if (options && options.position == "bottom") | ||
| - info.wrapper.appendChild(node); | ||
| - else | ||
| - info.wrapper.insertBefore(node, info.wrapper.firstChild); | ||
| + var wrapper = info.wrapper; | ||
| + var cmWrapper = this.getWrapperElement(); | ||
| + | ||
| + if (options.after instanceof Panel && !options.after.cleared) { | ||
| + wrapper.insertBefore(node, options.before.node.nextSibling); | ||
| + } else if (options.before instanceof Panel && !options.before.cleared) { | ||
| + wrapper.insertBefore(node, options.before.node); | ||
| + } else if (options.replace instanceof Panel && !options.replace.cleared) { | ||
| + wrapper.insertBefore(node, options.replace.node); | ||
| + options.replace.clear(); | ||
| + } else if (options.position == "bottom") { | ||
| + wrapper.appendChild(node); | ||
| + } else if (options.position == "before-bottom") { | ||
| + wrapper.insertBefore(node, cmWrapper.nextSibling); | ||
| + } else if (options.position == "after-top") { | ||
| + wrapper.insertBefore(node, cmWrapper); | ||
| + } else { | ||
| + wrapper.insertBefore(node, wrapper.firstChild); | ||
| + } | ||
| + | ||
| var height = (options && options.height) || node.offsetHeight; | ||
| this._setSize(null, info.heightLeft -= height); | ||
| info.panels++; | ||
View
10
addon/edit/continuelist.js
| @@ -19,23 +19,23 @@ | ||
| if (cm.getOption("disableInput")) return CodeMirror.Pass; | ||
| var ranges = cm.listSelections(), replacements = []; | ||
| for (var i = 0; i < ranges.length; i++) { | ||
| - var pos = ranges[i].head, match; | ||
| + var pos = ranges[i].head; | ||
| var eolState = cm.getStateAfter(pos.line); | ||
| var inList = eolState.list !== false; | ||
| - var inQuote = eolState.quote !== false; | ||
| + var inQuote = eolState.quote !== 0; | ||
| - if (!ranges[i].empty() || (!inList && !inQuote) || !(match = cm.getLine(pos.line).match(listRE))) { | ||
| + var line = cm.getLine(pos.line), match = listRE.exec(line); | ||
| + if (!ranges[i].empty() || (!inList && !inQuote) || !match) { | ||
| cm.execCommand("newlineAndIndent"); | ||
| return; | ||
| } | ||
| - if (cm.getLine(pos.line).match(emptyListRE)) { | ||
| + if (emptyListRE.test(line)) { | ||
| cm.replaceRange("", { | ||
| line: pos.line, ch: 0 | ||
| }, { | ||
| line: pos.line, ch: pos.ch + 1 | ||
| }); | ||
| replacements[i] = "\n"; | ||
| - | ||
| } else { | ||
| var indent = match[1], after = match[4]; | ||
| var bullet = unorderedListRE.test(match[2]) || match[2].indexOf(">") >= 0 | ||
View
128
addon/hint/show-hint.js
| @@ -24,44 +24,44 @@ | ||
| return cm.showHint(newOpts); | ||
| }; | ||
| - var asyncRunID = 0; | ||
| - function retrieveHints(getter, cm, options, then) { | ||
| - if (getter.async) { | ||
| - var id = ++asyncRunID; | ||
| - getter(cm, function(hints) { | ||
| - if (asyncRunID == id) then(hints); | ||
| - }, options); | ||
| - } else { | ||
| - then(getter(cm, options)); | ||
| - } | ||
| - } | ||
| - | ||
| CodeMirror.defineExtension("showHint", function(options) { | ||
| // We want a single cursor position. | ||
| if (this.listSelections().length > 1 || this.somethingSelected()) return; | ||
| if (this.state.completionActive) this.state.completionActive.close(); | ||
| var completion = this.state.completionActive = new Completion(this, options); | ||
| - var getHints = completion.options.hint; | ||
| - if (!getHints) return; | ||
| + if (!completion.options.hint) return; | ||
| CodeMirror.signal(this, "startCompletion", this); | ||
| - return retrieveHints(getHints, this, completion.options, function(hints) { completion.showHints(hints); }); | ||
| + completion.update(); | ||
| }); | ||
| function Completion(cm, options) { | ||
| this.cm = cm; | ||
| this.options = this.buildOptions(options); | ||
| - this.widget = this.onClose = null; | ||
| + this.widget = null; | ||
| + this.debounce = 0; | ||
| + this.tick = 0; | ||
| + this.startPos = this.cm.getCursor(); | ||
| + this.startLen = this.cm.getLine(this.startPos.line).length; | ||
| + | ||
| + var self = this; | ||
| + cm.on("cursorActivity", this.activityFunc = function() { self.cursorActivity(); }); | ||
| } | ||
| + var requestAnimationFrame = window.requestAnimationFrame || function(fn) { | ||
| + return setTimeout(fn, 1000/60); | ||
| + }; | ||
| + var cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout; | ||
| + | ||
| Completion.prototype = { | ||
| close: function() { | ||
| if (!this.active()) return; | ||
| this.cm.state.completionActive = null; | ||
| + this.tick = null; | ||
| + this.cm.off("cursorActivity", this.activityFunc); | ||
| if (this.widget) this.widget.close(); | ||
| - if (this.onClose) this.onClose(); | ||
| CodeMirror.signal(this.cm, "endCompletion", this.cm); | ||
| }, | ||
| @@ -87,61 +87,51 @@ | ||
| this.showWidget(data); | ||
| }, | ||
| - showWidget: function(data) { | ||
| - this.widget = new Widget(this, data); | ||
| - CodeMirror.signal(data, "shown"); | ||
| - | ||
| - var debounce = 0, completion = this, finished; | ||
| - var closeOn = this.options.closeCharacters; | ||
| - var startPos = this.cm.getCursor(), startLen = this.cm.getLine(startPos.line).length; | ||
| - | ||
| - var requestAnimationFrame = window.requestAnimationFrame || function(fn) { | ||
| - return setTimeout(fn, 1000/60); | ||
| - }; | ||
| - var cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout; | ||
| - | ||
| - function done() { | ||
| - if (finished) return; | ||
| - finished = true; | ||
| - completion.close(); | ||
| - completion.cm.off("cursorActivity", activity); | ||
| - if (data) CodeMirror.signal(data, "close"); | ||
| + cursorActivity: function() { | ||
| + if (this.debounce) { | ||
| + cancelAnimationFrame(this.debounce); | ||
| + this.debounce = 0; | ||
| } | ||
| - function update() { | ||
| - if (finished) return; | ||
| - CodeMirror.signal(data, "update"); | ||
| - retrieveHints(completion.options.hint, completion.cm, completion.options, finishUpdate); | ||
| - } | ||
| - function finishUpdate(data_) { | ||
| - data = data_; | ||
| - if (finished) return; | ||
| - if (!data || !data.list.length) return done(); | ||
| - if (completion.widget) completion.widget.close(); | ||
| - completion.widget = new Widget(completion, data); | ||
| + var pos = this.cm.getCursor(), line = this.cm.getLine(pos.line); | ||
| + if (pos.line != this.startPos.line || line.length - pos.ch != this.startLen - this.startPos.ch || | ||
| + pos.ch < this.startPos.ch || this.cm.somethingSelected() || | ||
| + (pos.ch && this.options.closeCharacters.test(line.charAt(pos.ch - 1)))) { | ||
| + this.close(); | ||
| + } else { | ||
| + var self = this; | ||
| + this.debounce = requestAnimationFrame(function() {self.update();}); | ||
| + if (this.widget) this.widget.disable(); | ||
| } | ||
| + }, | ||
| - function clearDebounce() { | ||
| - if (debounce) { | ||
| - cancelAnimationFrame(debounce); | ||
| - debounce = 0; | ||
| - } | ||
| + update: function() { | ||
| + if (this.tick == null) return; | ||
| + if (this.data) CodeMirror.signal(this.data, "update"); | ||
| + if (!this.options.hint.async) { | ||
| + this.finishUpdate(this.options.hint(this.cm, this.options), myTick); | ||
| + } else { | ||
| + var myTick = ++this.tick, self = this; | ||
| + this.options.hint(this.cm, function(data) { | ||
| + if (self.tick == myTick) self.finishUpdate(data); | ||
| + }, this.options); | ||
| } | ||
| + }, | ||
| - function activity() { | ||
| - clearDebounce(); | ||
| - var pos = completion.cm.getCursor(), line = completion.cm.getLine(pos.line); | ||
| - if (pos.line != startPos.line || line.length - pos.ch != startLen - startPos.ch || | ||
| - pos.ch < startPos.ch || completion.cm.somethingSelected() || | ||
| - (pos.ch && closeOn.test(line.charAt(pos.ch - 1)))) { | ||
| - completion.close(); | ||
| - } else { | ||
| - debounce = requestAnimationFrame(update); | ||
| - if (completion.widget) completion.widget.close(); | ||
| - } | ||
| + finishUpdate: function(data) { | ||
| + this.data = data; | ||
| + var picked = this.widget && this.widget.picked; | ||
| + if (this.widget) this.widget.close(); | ||
| + if (data && data.list.length) { | ||
| + if (picked && data.list.length == 1) this.pick(data, 0); | ||
| + else this.widget = new Widget(this, data); | ||
| } | ||
| - this.cm.on("cursorActivity", activity); | ||
| - this.onClose = done; | ||
| + }, | ||
| + | ||
| + showWidget: function(data) { | ||
| + this.data = data; | ||
| + this.widget = new Widget(this, data); | ||
| + CodeMirror.signal(data, "shown"); | ||
| }, | ||
| buildOptions: function(options) { | ||
| @@ -206,6 +196,7 @@ | ||
| function Widget(completion, data) { | ||
| this.completion = completion; | ||
| this.data = data; | ||
| + this.picked = false; | ||
| var widget = this, cm = completion.cm; | ||
| var hints = this.hints = document.createElement("ul"); | ||
| @@ -320,6 +311,13 @@ | ||
| cm.off("scroll", this.onScroll); | ||
| }, | ||
| + disable: function() { | ||
| + this.completion.cm.removeKeyMap(this.keyMap); | ||
| + var widget = this; | ||
| + this.keyMap = {Enter: function() { widget.picked = true; }}; | ||
| + this.completion.cm.addKeyMap(this.keyMap); | ||
| + }, | ||
| + | ||
| pick: function() { | ||
| this.completion.pick(this.data, this.selectedHint); | ||
| }, | ||
View
2
addon/lint/javascript-lint.js
| @@ -23,7 +23,7 @@ | ||
| function validator(text, options) { | ||
| if (!window.JSHINT) return []; | ||
| - JSHINT(text, options); | ||
| + JSHINT(text, options, options.globals); | ||
| var errors = JSHINT.data().errors, result = []; | ||
| if (errors) parseErrors(errors, result); | ||
| return result; | ||
Oops, something went wrong.
Showing you all comments on commits in this comparison.
kasperpeulen
commented on e29fecf
Mar 30, 2015
|
@marijnh thanks for fixing this btw ! really appreciated :) I was thinking that this line could maybe also reflect the completionSingle option if (picked && data.list.length == 1 && completion.cm.options.completeSingle
) completion.pick(data, 0); |
|
I don't think that's relevant. The user has pressed enter. |
kasperpeulen
commented on e29fecf
Mar 30, 2015
|
oh wait you are right, thanks again ! |