From 2f36c2ee357faf4ecf9f3ed85a5924f9e4226971 Mon Sep 17 00:00:00 2001 From: Garen Torikian Date: Tue, 24 Apr 2012 17:29:26 -0700 Subject: [PATCH] Continue layout work --- doc/build.js | 2 +- doc/resources/ace/skeleton/csses/ace_api.css | 139 ++++++++-------- .../ace/skeleton/images/content-bg.png | Bin 3271 -> 0 bytes .../ace/skeleton/images/content-top-bg.png | Bin 3523 -> 0 bytes .../ace/skeleton/images/content_bg.png | Bin 0 -> 4177 bytes .../ace/skeleton/images/content_top_bg.png | Bin 0 -> 629 bytes doc/resources/ace/skeleton/images/favicon.ico | Bin 0 -> 1150 bytes .../ace/skeleton/images/header_back copy.png | Bin 3444 -> 0 bytes .../ace/skeleton/images/method-bg.png | Bin 6986 -> 0 bytes .../ace/skeleton/images/method_bg.png | Bin 0 -> 8001 bytes .../ace/skeleton/images/sidebar-border.png | Bin 26129 -> 0 bytes .../ace/skeleton/images/sidebar_border.png | Bin 0 -> 2967 bytes doc/resources/ace/skeleton/javascripts/ux.js | 5 +- doc/resources/ace/templates/layout.jade | 13 +- doc/resources/ace/templates/lib.jade | 20 +-- doc/resources/common_layout.jade | 44 ++--- lib/ace/anchor.js | 4 +- lib/ace/background_tokenizer.js | 10 +- lib/ace/document.js | 2 +- lib/ace/edit_session.js | 70 ++++---- lib/ace/editor.js | 152 +++++++++--------- lib/ace/multi_select.js | 20 +-- lib/ace/placeholder.js | 6 +- lib/ace/range.js | 4 +- lib/ace/renderloop.js | 2 +- lib/ace/scrollbar.js | 6 +- lib/ace/selection.js | 68 ++++---- 27 files changed, 265 insertions(+), 302 deletions(-) delete mode 100644 doc/resources/ace/skeleton/images/content-bg.png delete mode 100644 doc/resources/ace/skeleton/images/content-top-bg.png create mode 100644 doc/resources/ace/skeleton/images/content_bg.png create mode 100644 doc/resources/ace/skeleton/images/content_top_bg.png create mode 100644 doc/resources/ace/skeleton/images/favicon.ico delete mode 100644 doc/resources/ace/skeleton/images/header_back copy.png delete mode 100644 doc/resources/ace/skeleton/images/method-bg.png create mode 100644 doc/resources/ace/skeleton/images/method_bg.png delete mode 100644 doc/resources/ace/skeleton/images/sidebar-border.png create mode 100644 doc/resources/ace/skeleton/images/sidebar_border.png diff --git a/doc/build.js b/doc/build.js index 6b46c3e8..e461c39a 100644 --- a/doc/build.js +++ b/doc/build.js @@ -2,7 +2,7 @@ var panino = require("panino"); var srcPath = process.cwd() + "/../lib/ace"; -panino.main(["--path=" + srcPath, "-o", "./out/", "-a", "./additionalObjs.json", "-t", "Ace API Documentation", "--skin", "./resources/ace/"], function(err) { +panino.main(["--path=" + srcPath, "-o", "./out/", "-a", "./additionalObjs.json", "-t", "Ace API", "--skin", "./resources/ace/"], function(err) { if (err) { console.error(err); process.exit(-1); diff --git a/doc/resources/ace/skeleton/csses/ace_api.css b/doc/resources/ace/skeleton/csses/ace_api.css index f628bc37..adef4992 100644 --- a/doc/resources/ace/skeleton/csses/ace_api.css +++ b/doc/resources/ace/skeleton/csses/ace_api.css @@ -3,10 +3,8 @@ */ body { min-width: 1010px; -} -body { - background: #edf5fa url(../images/main_bg.png) 0 0 repeat; - color: #262626 + color: #2D2D2D; + background: #EDF5FA url(../images/main_bg.png) 0 0 repeat; } ul { @@ -22,14 +20,6 @@ a, a:hover { } code { -/* background-color: #fce68c;*/ - -/* font-size: 11px; - line-height: 16px; - font-family: 'Ubuntu Mono',Monaco,Consolas,monospace !important; - padding: 0; - - */ font-size: 12px; line-height: 16px; font-family: 'Ubuntu Mono',Monaco,Consolas,monospace !important; @@ -39,6 +29,7 @@ code { display: inline-block; padding: 0 4px; margin: 2px 1px; + color: inherit; } pre { @@ -96,22 +87,8 @@ blockquote p{ Header and shoulders */ -#topSection { - margin: 0 auto; - width: 1000px; - position : relative; -} - -#topSection .leftnav{ - width : 286px; -} - -#topSection .dropdown { - margin-right: 0px; -} - -#topSection .versions { - margin-right: 0; +ul.topLinks { + left: 290px; } .small_win #topSection { @@ -149,30 +126,9 @@ a.brand { .ace_logo { position: absolute; - top: 8px; + top: 45px; z-index: 20000; - left: 400px; -} - -.masthead { - background: #000000 url(../images/header_back.png) repeat-x 0 bottom; - background-position-y: 70px; -} -.masthead .container { - width: 680px; - padding-left: 60px; - margin: 0 auto; -} -.jumbotron { - min-width: 1000px; - position: relative; - height: 200px; - top: -36px; -} - -.jumbotron .inner { - padding: 45px 0; - padding-top: 75px; + left: 210px; } .c9-sponsor { @@ -198,6 +154,12 @@ a.brand { text-shadow: 0 1px 1px rgba(0, 0, 0, .3); } +.headerTitle { + position: relative; + top: 100px; + left: 250px; +} + /* Menu venue */ @@ -225,7 +187,7 @@ ul.menu { /* need specificity to "beat" the above colors */ .menu li .menu-item a.currentItem, .menuTwo li .menu-item { - color: #618100; + color: #0072bc; } /* @@ -383,6 +345,11 @@ ul.menu { .tabs a.menu:after, .tabs .dropdown-toggle:after { margin-top: 22px; } + +.dropdown .caret { + margin-top: 14px; +} + /*.backToMDN { position: absolute; right: 0px; @@ -528,12 +495,26 @@ ul.tabs .double ul, ul.tabs .triple ul, ul.tabs .quad ul{ Center content (the "real stuff") */ -.content .container { - background: url(../images/sidebar-border.png) repeat-y 95px 0; - padding-bottom : 50px; +.content .row { + width: 1000px; + margin-left: auto; + margin-right: auto; } -.container-fluid { - border-top: 1px solid #fffffe; + +.content .centerpiece { + background: url(../images/sidebar_border.png) repeat-y 180px 0; + padding-bottom: 50px; +} + +header.filler { + position: relative; + background: #EDF5FA; + height: 50px; + width: 100%; +} + +#container { + background: #edf5fa url(../images/main_bg.png) 0 0 repeat; } /* .container-fluid .row-fluid { @@ -542,6 +523,10 @@ ul.tabs .double ul, ul.tabs .triple ul, ul.tabs .quad ul{ margin-right: auto; }*/ +.sidebarContainer { + margin-right: 25px; +} + #sidebar { margin-top: 9px; /*background: url(../images/sidebar-border.png) repeat-y right 0;*/ @@ -556,26 +541,24 @@ ul.tabs .double ul, ul.tabs .triple ul, ul.tabs .quad ul{ color: #404040; } -#sidebar #well - -#content { +#documentation { padding-bottom: 10px; } -#content article.article { +#documentation article.article { /* border-bottom: 1px solid #e9e9e9;*/ border-top: 1px solid #e9e9e9; padding: 16px 10px 2px; } -div#content article:last-child { +div#documentation article:last-child { border-bottom: 1px solid #e9e9e9; padding-bottom: 40px; } -#content article.article.methodToggleOpen { - background: url(../images/method-bg.png) repeat 0 0; +#documentation article.article.methodToggleOpen { + background: url(../images/method_bg.png) repeat 0 0; margin : 0 0 10px 0; } -#content article:first-child { +#documentation article:first-child { border:none; } @@ -689,7 +672,11 @@ li.signature { cursor: pointer; } .signature-call a { - color: #859c59; + color: #8e487e; +} + +.sigClassName { + display: none; } .eventObjName { @@ -741,9 +728,6 @@ li.signature { .alias:hover, .related-to:hover { opacity: 0.8; cursor: pointer; -} -.memberContent { - } .memberContent .title { @@ -806,9 +790,12 @@ table td, .bordered-table th + th, .bordered-table td + td, .bordered-table th + .zebra-striped tbody tr:hover td, .zebra-striped tbody tr:hover th { } -.argument-list{ +.argument-list { margin-bottom : 13px; } +.argName { + font-style: italic; +} table td{ padding: 8px 10px 8px 10px; @@ -816,15 +803,19 @@ table td{ /* Everyday I'm togglin' */ -#content h3 { +.mainContent { + padding-top: 10px; + float: right +} + +#documentation h3 { font-size: 24px; margin-top: 5px; -/* margin: 10px 0;*/ } -#content h3.methodToggle { +#documentation h3.methodToggle { margin: 0; } -#content h3.sectionHeader { +#documentation h3.sectionHeader { margin: 10px 0 17px 0; line-height : 24px; } diff --git a/doc/resources/ace/skeleton/images/content-bg.png b/doc/resources/ace/skeleton/images/content-bg.png deleted file mode 100644 index 154d844b5b2faa91edc16f1ad5355fe7ab18180a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3271 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 diff --git a/doc/resources/ace/skeleton/images/content-top-bg.png b/doc/resources/ace/skeleton/images/content-top-bg.png deleted file mode 100644 index 5dd2b290f76ffbb8bddc7bb80299dd7502fb5e1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3523 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 diff --git a/doc/resources/ace/skeleton/images/content_bg.png b/doc/resources/ace/skeleton/images/content_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..928f81e41ec19aaf5ffb2a2f38c9e9c1bbed0a76 GIT binary patch literal 4177 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 P00000NkvXXu0mjfThRhE literal 0 HcmV?d00001 diff --git a/doc/resources/ace/skeleton/images/favicon.ico b/doc/resources/ace/skeleton/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e97c70f6b4f365efc03f9a1cf58ed4709b0b9b6c GIT binary patch literal 1150 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 diff --git a/doc/resources/ace/skeleton/images/method_bg.png b/doc/resources/ace/skeleton/images/method_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..b018955737a730de52f23bc8fd39786ffe7cd9d0 GIT binary patch literal 8001 zcmV-HAHLv;P)KLZ*U+R`sCEkzKl)gj5&q@hY_5?)@_euSf22N!q0z{yc?Q2YY_Kym8e z5Fvwu2%hQO!{u_psMvL#(bD64NQRTZj^-}DnS22ry9f-;mW=gZvQj}U-ZdMsK&I8^7~DvX`q=i3#w~3FyR0HKCfmqfH6C_=!KM-BqMYi zux%m;z2SZ@xTB7pMO==KPvwti|>yBs{h9#zh0{%xvwSpzHfhGy%)=C{+T2T z&j;-Lsr5V0J*?kZ{y9Zd$*=Zv<@^1)fvY{k{#_me@aNFy&2iJ`d~WBt$2H0Tip78b zs_;*e|5N2(LR^J&>w7@X0AB_0{dDZXd~W!;Nu2_&i8x>6lP3ecZjzM)&vWTJ=0%+p zf4k1hx;L!b(C;GTqAK!!?*F}|^?Ob(>z$ze?;fop-%YUnFohkuP2%6EqRnZ-SZ_9D;cvd)ANXW+O7 zW36P{J@2GIEX3XwtOEDT`@49?Yg-nirFh>%zKi%g`*REL2m^ormMKB$%vYgszC^wZ z@3H}SmYS>{$iQN+dVOm6LfiL?vvMJiNEX($@8?~(&RneT2CM3-`M+ga{_r}^&nP^T z_>RnEl#dx(m*Om18Im%yxJH&{#!$>|0dktH=?ntRd#LTUJnYjh@)xTWsT5QnWxX0j_(c}Nlasp{M)82<*40=g)lasMlH_PA4 za(5QSc$-^>(_gEC6&JjoTO(15c_iFKi+4BIP&gAwpng=xBq5s`0^TfKIAN-6eK4K! zu}6qMTR4fe>LDxe7=o)#@N+FQRT{-r1PV9~RDuem36qUUi3-f$Y3RL73tGh9qRYLo zaP3w9SdjRP(uD-uslN+8%lOD4)+DH%Bx#H3nFom~)()TtM0=pfy0?Gv!M*R>{tgX| z_k)}ey!K8z)_;FLAVy?e`vd_XkKeM$My^|CMvNX;0P}{&B@yWp(A1vTZFxxDj*@3_ zkI9d=-OjdpuICAH_l%!^%fjVlerN{ys_ThZIN0b*qBC5tse(M@8YoCW7xyZIK}k6D zJ98&c28Q7i*F+HFMG#3LmNVzOP)d?qS#Zlwf@WeZl&4S5^;$2nW86Mt|0}kfk`R%1 ztx$d^NkC-#zADc9Shsmy$pPLKV~N*}yl+{=w>{fQuxj6z+1~e_bw2g_`+bcPmXdBg z)?{Ft;S*ZmeeHsV(Z>XqS)ykL*V=`+s#x{wVWN4h^0<&T$qqdr-K58+D6^N9@jWB* z%8*r@^D-|QHk1B|$iyn4mo<>2Pu$*WwawY~H;_Pv3{-&)&QUYPfLMHpv3K@01nQct z$;$Px@q8C8%soHrs-@isEm~8^#myR4CQHRbutk%b70m6+Tv|H_8fUmaFniAkBB2kd!Bclht&>)MbzFJs?!5 zB5@(=KuY4oy9$@w1ATm`nYSjUJ@~L)*Rts|%m?OoBzG!uYZfO9?T zXE}qx3x=YJ32+|~LG{T)1XC(LQH`y1nRpo1a6mZ7R^CZ!3C1*q`34ZLphTj$0g3gn z*`uEm65k#@3w)#j5G2pomg^nYJuxw%`k_Cwpy5CZw*=U}LLd$vfy&YXbA8v~8!F%~ zNt+J}%*VP4EN_quSh~@vA-Y0A3QoVjEZ1c)INxZIXNMiD5IfV5-Ux43G$y%|C7zH( z^hJJuc)h#h{A(P2^($dgwk5eny9Pe34%-w%X?b(UWsFe7p9uid@`Aat~o zVhJB}0VdjdR&yIh9K;qY|5%`=dsfealWd{~U*&XC{M;v$MmyJ>C6w>7#x63cXN|(J zO&(CMQ_q>*zuz@38KE@q_dSnuWYCp&@m;;=EAGhV?*^6csf0t?qy`;t2(A!6*^mND z41o`>#3$HsFP{wM`HgyBgG$tpYPQLIKuez_-hB9w4H;`ha^Hbf(=+rn7~5tr)wFQJwiZI zVqx$?Cu>z+7iI!Z=H&wVBSG`HgYcfg!-lEQlqSy&UYEl$Di&COx!@{|%CH;Np%>%U z&Zv7ZadHYK&xzr)llRB*2g^1i(I9p8X6C7E&@&+{wPjy!$T56l>R8QLKW0l69j+pw zCLa>^F{L_-UE^aGJ7|iDQ3`*8B<*CdA!!ywo^v(^)31^PJIs(7sWN6_mUZ%RC|np? z*tzMmlH861F%V7R6RR!2$d$FO3H5c&&cCAy8riATNDy3LFt4HaO0|o^@t!=sCijwX z7XDl)RS{u^gXqcS8B3bx3w-&I&8yd!C(3y(o^6t9(OEHvhK>h%N#y6Sc1;2=_w z1Tlqocfc?b;T%E{9iC^EW(Rt2h@=)PP=Qm|n=PzCD2H-UgfOW3-ro*Ig%x}P9Bhzq zr~d_G%#5mC0q&Y08OZH>neg-FP$x?0VYpU>2j`$TYh&a}czT=o9w8OE39`MDg2O0> z8H)<5C=#V~H6jYeVkgf+LRDzfj&uLD5b^z>yKdP|ci4J#$&(?yJq4;UXQK~7)vLyU zA+HSD6PH5ao^4|zu$l#X6u2UV117FO1m?Sr4Cv%Li}Hs02z2e%&ct@eFQI+Nj&vLS zl4N%mjyJcs4pX+H5pIeVpg{$eau0BKh2L@?i5BLnX*@uw*xpN2EOa+-S}6>nv0`;e zxV6O>79wOl>cMGrF+O>~lrQzfP-H;K6`ZxMyavUd2HVJFANy8a55Z&xh0o8>aD8Vp zGYvb#Nklj3a6hsnakNxz6-75@>xrFh;DLEuPOBUdHVFr~^-WDMOQWoW32i`1D9!V! z`}Jhvf|yF;Le(KA+Zn?`1tAyI0!M8#uMvMV=i~?aIi^RsZ-_9 z@p9V^M#G}uW3xkGl-CnoN6Kl)GQv=}{@8d}ct~86{Ou3l?q=+CVs)R#mh1+jsOnFj4{m<_D+1dE%u?Mb@GF{9o>1*i^`fjd0| z1aW$(kmNJfooMgJf@7!>ol{N+(?aoRnv8^quvFnSdxntB4pLx-A{!P#vS8V|$Nxa! zaho32++{t-3VSOPT!}{1X;vsxHWhh~m9*+JC}qdX3_7SAvQvJj38s<+Ljll2-&3L- zxK-90j&<;5weMEa*1r1B<#q2K@Mu?xOV`%>rCsHu2p`lPFe2uK)*&)dE2in{4p4vv zsU)I2{G`W!q9+8RJSa~l%tStSCVyasInDuLSSTtSrv(A#FVIl^Kn%{bU1JeRrlkX2 zN!zB8ts=Mz(nQp%WIUPgJr}d=Vh=YnP?K1PeuY*;aRn45#L|K|s?=~AaG7;3nfj#O z;EJ7meIN%PsKW*e>Q%olI0N)tv=bQc40wQZFbH!HAXzesULc+~^{PfY<^}bOBX5?wVjmm|~=2C~Bps%%6+1{$VmA!gHieN^t} zo{(}iE7GilKF}Zx#&gkNA%$}8qa))WN0muShEvxVpoyPjYZXDyslqyUeC?!0{w!4+o!R06xDmj1xC4-d_E=_*eUy3=78{8bv7qShi?>5V(M?J|u>aXu8NmS`3MCZ_|$!V>*7&d83))iRbGa;;?EVZl}Eiy>D^lq&*PPC?@ z$&~a!8ndh@Z3`SS_~`)P@#B{dd@^xbQ@`40yitv{^k`~zQKys?-PjylJpwgx`9}jY zKotEn#puteNQ8-}OX&e`?lOoS+2}s)BZV2NfYSVkf>5?F@^qY#SPPUm;7kH6gir25 zxd~L4=rJU&;S1Bbmlws-0V@MIH_{=(y|6-?T4%gpP*xjARnTkSs@Udr z%_6$B3hB`alSN*fH(jZwQO+?tuJ}qEOSNVwaq3yf(t2ZEf}wdWO|_IZ6rR{7i(_XM zCRC7SBO)z^bPt07*?N66Qt0lO6oy)kHVK0tz<@ZI8eY`unSsi-Pw}}jm)WlGWD^0e z%R+~dV$m0JnJjkk;M4s_XP>@=PD2={7PQM+AvuupP7F-i7TvGwf>ZUj}KA)Kc>lp0+$|P%JV)XYcKZr-2y;A%m?# zja01E4c<7WIq_LH+zMDy@uAg9#U9QQBCc}*LUYZOV*Tsg^`Z?1e8qaDEJmo^MBFWh z5<0mR6ZMWVY07^nL_49cBrP$fIw32xwI71J=tV0?r4xF#jv89a(rXY~`BF>?ohT1Fp*0zJbGU5lk&aqx0+y-;dsiE%mSx=xC5r zou_DRouW}%xiHh3Gkd)aTRvnBWUBk`&AsgZQy;3Jq%TC4|yuftEZ^%N8XcnsMAT+7KlB<;(#8zY0Xws zKMN(Vx7EsBy`QsIPqBK>r@Bo}IuSc7Tb@ErtYkF9mw3?Zhl9{JF=Rsw8D;B;y}{3` zh3=i4kHpI+-z$!-X@Ti_Cm!b{ioe6w9a%Z9$N;n%WnTootF-*U_!H3r?}xl2{C%By zfQS{@D}=Q6O4hQreOBSx`eSK+Fti{S?Qa&mhSTiHW7NP~!%Fd?s=Hn(#jk}{g2H-& zn;n8OIJ#uD)hOGfk6L&=j#;y*$2GAu%37;~^{MYs^kIpook(iKFAq}sp2`&z*{C-2aq-x zr%q+4&0v?_!@7zp%z?Phn~7EQIhxv=w~lg@COc-fhAyTWP`p3?+$kP7XCl zXVP?3Ip`<^5}JnD>(jOVZ%6Cw-3?GZT7qV|sJT~`b_p#EtFHQFWv2sXW;Ag(nc;7+KER_oL2<}t%L_XrnjTf)Q{$N}&%{vU-p@NsW#0)L(CV`1 zP80Yjtr+EzZIV2f#UN8<;Bo#tjQp8aw(=;|%J+UxE2gO*2%A3D66ou3Vhtjg%mjz* zJCiI}Q(&LW?1>d;Il1&S3Tzs$gOA;V&>#1l%N3Rg`rzFK2-z%ZXiPu6=l#gv%tW6H zF?9XhTHq^mMOp-!oCXJIB39_uEZHDlO_V?h5CDAVA81Smg(yp3ck4rNyz( zM>Ft76^!zr#Mc5Xu)s&V@C{nzrcD+Zkl`&NIA)_Fhn|eo7JDo`{4sByde%~K;#&@* zb?Tfd8oW{XRI_1-0aR)e>J@G3+(^2iDrwiC4+oZ{&_er+F``gqD_aXfoHnsY*-a)( zz=x3AYqK#Zx$gR?l+*KwB=;mt7=tt)W`!gp9nttS-UKve59Wew@uxqwR{PHWNe%-h{F?x|oW z?X6d65{gLNXU<|B5!qtOr$0R}?`I73EkQrL`u@yU0bz)WOKDN6#q(}hNdX$qz5 zUgv9Gu{B$a&i+JsusrAfxUSv0hklO3k=YWCLK#7=fQkniV(YMP*9KF#59oW`aUR-0HA0N#|4USui?Z@%_biIq8`@-xmmT|9ZD+l4s0q~)^0>jst)%54c(|bF`0jEOgcMa9!!w=0H5^+s z+F~@sw>a%Wwj+=#`l*;CYmnx6qp_-XhWn<`FBeZRbqbE#VRsnSM$WZ6OXP`d`b-P0 z*kR4B%{8fv;oH_|`-2{3LBdv3RaDk$^mG4EQ}eUib+-mhqgN4BjVcmK_!vdkarEpF zT*F&kwHo)+c%a%2JjrlyhSx!#_v_IO;<321 zjT4UAc_!MwM2?N~b39z*Ma#vmSihPyqIarA=@q?mvlNwJhZ*L+!OrX8* zL!9yBaPXIFwdx$DeXD7K@0Pl%^6WyeaRhn@^o3B7~D1wLrofzg{fCWLe-3v31saoh6G`nKb!*hm$ zk`eL;xn@bFR*vBVJ{eRv>s;G_fl|w15}%qH=ui&VJW1nk;A%U>o{cE^A+KDa9bD~a zE%{nuycG8G z=b*Z5gMx3-l97RWGWKNO_1-(# z&uZej(@Elcci25fiS>p@GGg1Nyu4;{FXh|iuv{e{Ufc51?j0^p5Y6t`Fh-AnmE)1b znQazwG9B6`c4w^T{mRdq4vl(ZZX3t5<{U-4t_ofhcm2hGMrP zQD>bEL-!8n>2k4~kG_o!exIm#imFA_%#cdji3LrA5uG!eG{?^}bOgEUs5t1dR{bJ` z4#S~t2m)k$3J;Oav*+L*Sg zt+9R=Y{ei)fei+hFFVmF@z_q#gfv)=11JZP!5Y9z4?k8xL)DnQL*f7EdJ5}>1#8^n zEtzPHsqplF{R;TMV*RbF*ejF<6<>C1GsS1*0`-xz*d+RAx3j8DbjH)VHkFE_JSp16 zYHng<&uBj+Pc!MNU|C5g+`vGrQ}p4y$m>)8{oerqYQl=?izw61Pv~OyZhh}65NB!Fc1B$?TwG;BBC$ zDq-d3!ej9-4UeCT`x7@Bnv|@cyM>jLjW?5}jh%z5G&2g?$;{+nEzPVitj4G2E^lM+ z@Gij9Mms=V$11?dO5B=RR)$H+PvQx{#m3u$$%FQIe$Ir*hC&0@u0N@vu5EPK$ z<74{ohxw^CPitF=j|xivUDs1in%Uml+g*Z}7X$+FfCPEmJneY-#l^+{#SjnxJW&9= z{9U~*`~a?AEdN1Ju<^3;ba3}}aC2q)7tzAf&Bt4s`AO3M(*zgy|ABS&`tNRf>M&kE z3wK_A9=?B@^dCYswf}!o7nlE`_VWH{^MB?2{{;5Z@prf3{b=Lm=HqGgG;p>o|5oKL zA@6Bp;qB(B;8wXs(6baP?)uO>@4{I9a`EB&u{|IKUtzsth+zw+`v z3B&vE!2Z7m`aeZa+VgMnf7JFV^FNAj-gbuGtUlhaYCN9uKAy%v&M%*e9-;TwnXuJ|&JL(d{loqC z_V#q=!$IfD!#xs-ytsUPKs|QcKb)VRBYYnJg}iV(5IjIVUbsE_KAzp&-8|g5-3KF_ zfT6+pfmNZ#klj}JIlOUB8r}$p-Q3^Y-aNJyulB=QLj0P1Tsk`Q!IxXG5aOfukQNbG zXTIINf3R;b4AxTBSk-%01*=}I?yR=kxQFi=@UGYa-GEU(rm}az!EV8!(vLUIK1t`h z=b`Yx`-;wL7)aU=c3v+dd7pn zeW7xCcUmXYaPf--+R?(Zg8RmvH0>NBnxAV-3P)X=gt}Rrg6^1|{{~c@8xpd>V!M2M z;c;g?c=T_D0oDYLXZd_Df4II0>wcG6WG7=)rM+h=)G69}v7!eH*}R zAme;r5!#YZf_rJ@GPgR1f}a_!SE4-K154+2E3JRNGnhUPgu_)P1G@w-3@Z)%^&gIe z&tSZ;o70hEeU7;(!)2fPbH)z~?d8(#j_FTKmWN?J4i5i z^j(+@6?R_Vb$Vy2aRlpJ*k9~f3pf^srKgqXrT7m#z|!F zjyB3xaFB9IQ@CNQT0Xq9MI9-l2z=#(n`z?X5EQ^z_6<2zD+ELO>lKzI7usg1EUi zqi3~Dz-nx=11c>QOJ0jd&o-!W(8;=0t$WS=r;U%zsU0i4>)Tu(%i00VX;Q2a?q?5z zqNnaD1)iv8O`bmv!>k1l>W+aGBp4&XH-Uo;cvv~l3(Hy?GJvQdw)tnbt$rmeqmkuW zA7bCsz=H-q(crq?LwaMAD?`uZj8@k{zJgr#%Y#u}dXpG1sCyW#Mg?pp{U4m;S5AqL|#LIXQG(AJL$DuQx`i^_Nbo43)NJ^ya@8uf(gk2X{i#8?RI%&c0@6~AooPTo zl@MIF<4eDBS%>|H7LMD*`1||-{*8Mshox&76A6Sc%=Lzk1YWqmqH6i1OS!zeedZ9F z`x|C0!L^lYzF@tewstE+YK@C$6m);?dce)1)JM8p7Ks(*I zP`kB+2Ox$zE#7M3>V%zZW)jP>3B_g+1t-ZiyOYVD<=h!v0RG(i_YF^XH52O9(C6I5 zcn_V8To~5cqKbzyE#p33e%B0(S-S?Ey&L|(O7K3V`;eG|bo4J-4^=^t4h=xQ>@KR% z0^lAZQ}ODp7``7u5x#h&he+^27-8g3^Kjor(Y-%Ko2ycpKfQC*|3)&ev)qRFsWbwt zJ*!r?&|7Wv7&&ozc`i*%MK~SQj=dVbo|dUr0wk@7AXG4k>z&3tAlh8y(X2!jz9(}| zLyv=fOD$$0TtDAgm^YXzBUU)TS+n#&oin1BRHJ^wZ!X(jIRQO@ngaBuFTSRK!ltm< z6so-(KO!XH8s_{C*A*y)b01{7Ec!A$AxovU%H+D|As#zG1rr%$1_{9eD`wvfH1J78Y#p8e$sFVh!`A{KuGuM&FnZ z$0*s~)0jpJ=?b!P6Zec0TE+0eh<>`e&HuJ#Af<%kp*Jg*>6sq%?Fe-)F$JpxuRr`n z90XK!8XuD?LEWydmgxv%NN=*AQP`VUj@mjM#x_;9MofeVd4yk5vzk-EPl#|!6`7V9 zrdHB-^(o^D5=}g(ZN}Nj-w7un64qciOtm!#RkJ~K+{FpkxL_%&t_@tfio<)sl(~ zK|SKXhhDd&5+62DVyp)ZKhh&eFb%1zQ@2aADDoNfr)n@qp9VLs6UZN`9D<}c6HSjx z`prmoUbI7Ewz305*=AxRVc(7)SIV)gd!9#s2)fV6GCr>HG*2L#atH<)R_bxpx+)qj z2DD6kB(x=xML+XBF|M=%#tl&EeykKU@!5@at2J3hGvX<~+@i(WUM<9)lo~6#ZBWyd zp(J;)sox&kK#4%^7%l!V2b=`9l`uNF-7c%0oqHJw;%Z)OB5k#fEjQ!c72L^=ckb!> z);l+FsAJdLnKL}{wu8T|Z6DOJ8;}S{Cv?7RrNq-6wX>Nz%#9Phc#%WSj<&Fx$vpqaMPq)rO(lS*8K{P3%3Z;Hxs`ov;@F)16-+_ceSAhckyb&SCBfj249!ZI92?V)6Fc88E*m(f=gy^W*OR}(;@m+AxAOY;CmB>i&Wn_YD zCm>fTG7jXkKc&WaRP+xoq8JCHJe!$MnoNX~`(Dnf8Pnk-Po(sjtIQUK!62Wu3BQHa zN@M3bbmHgCI4v%XNpydshLc54rl9X$YwdkPJtr1!5m<-@m5oW3hnE;+9e7CGHi?dI6gqs_1}MrQ%J?pilX_qeGRhTC`0zPR}Utp(NdfsFq-$ zpIUImL@a7)0m??aJiqdJw7w%qrp)akv}9n)H|bIb8B2BEOknMqd4+YDQ}_Bp7k1Z( z|9EE?Bb!LeUe(8_E@>JgTigzP9y;$y)2wdNeWpsps@>k#dOj=UL3LUm(Zt11p_R|@ zU}hE-`abVv1P`<=2)k|h8AA6@oxi?sR79hzYdTDR`$@nfZh5K~v zalaz+hHqNn7NTFjQQq2#K988pAAg_k_Gy=w?!kA4%TLc-{D2~l)-x#p+sU)~fwyiAc z6um$QVTj=9qnBHLu#H$JFgp>oev=d7j_l3m-~A&;LaV0ou==Sq*h4fpa7^uS;6`%r zsAczEm%q{_Q_UQYl3_l|@6;{f_bJCks=djZ^A0qRXy%)K+t>mf>~liE9dIk~s1AAVsTE&j!|zj^r@%XJ^v z*y$1wdD^4uI@4C1OP;f|LyKeu2(=wrS^JvMY)`a8X4A-L-nE!Xy6*E>k}Wz$FWHCq z<&R~TmKj8c-J*O3#dNd<@Be{SV_7=maK5p_R9)GSLRtsBD_8p>LTLgznP<-n3L++} z{e=E5#Gm%Nag4P#NG$C+U3$gfql_@AL9Up($HEH6Mu&o^O5Zok?HCV7z|lcg?;A$O!|S1k5^vTyk+nz;ri!JmfcUA=Ie$I!pyDxwtZhi$5U*ZA@qY?uv79#a=6m$xOL z{N*}FG2;@!cQx9P+687Z?>f!qD(8gY)}AbPt$NHJp|Rh%*UEWJHzAg@DO^Q#32%e0 z^O}Q}bhBknC$tHi=Zyd<23t)vX~e3{*=atyl_|3oxf1IDL{qGc(&QU zYR0>{-gmoQQO6Q%6!TbD4R0v-)R4R3$zY-oV=!m*yqIrHETcdjk{%IflB}x@CA<|H zqshje7R%cPAYY3`0Re#-6ek$jOoOc!`a+1cK%Ix?C5w3VT&l$Iww>$S2W9)#VZ@d6 zBm@Z!dU3ySwf5}ZA^${q0zx@e#uQ2DqCf301U?SESb7}SILf_RpUa$caME=6%gCEp z%)!=U80YXAf8JM1XvY~te%9vgL7*4Cl=_dk8`!r(N;T^ryB~Q}ZW%-t3fr2)(PL%+orVLrNIhl8Y0OC`VVJ|+AyY--#zAu@7D9vVo44l6X)-Pw7%6B* zCI<=Xmu0>X|H!0o$%wo1^kVE&wq!K3tJ~RzaQEht@GwbkUBhW~T!5=tADyWdjH){Y zrRjhG*Eq{*#Cuc0_(yme17Z#S#hNqLmL;GhZrG6CN!H1J%FGss1euhv1pj$l9I7e$ zU9YJ@&KUG=Kd>5B8SHduQK44;6_0ENKcoyGs7N=JL=}v72804 z>MJMSE2`Fg9HN(xlDTdc>p>ZwOH~B~WQ;5S%x8tmmIuJqT8z%UQ<4wFfWdm_3X{&X z-yZn|@#F+LisB6~?5;zXej2sZww?}q@2n%rZs|>^N!pz%8f`ta@aE9g-^ic*9x7OA`VkIPAFp7nT5kk(mBNL>>p)OYOa^F6sn0Lzb(E zKQ~M9SL6OjSde+aN+iHHilO#wJ1-QMQApakCbzM(QG&ue^A=p*{LLINt^`#TG-UVh zfO1JPUp(*5BdcZfd9l!^78jDPTFkeqjvexq<$fEuk9^kji$&Q|w(2X38qX?)=RbBv zq<_HW+J3bbP1@!`pBE+Czc6m?%oqC-Aitlqf;r$yto4_jX9X?vEo|W3_i~s>XO7o# z+iwPdVUL)=*PB^>tZ7F(&2g;EhZ)YjC^Dm+ig2Q*F`iICqw<+wL^zf@Nht6Z?X4(vpdwN3~o-%bIpgg-5( zh#c-ZkZ%Y863w4?Otz|?@N z$>Drq^3lcnFKQ=DW@_v&UXg+1NR>dW2ZZ6-LYYO)rfb;lDqDY}5>C5%>qq@OqY<`b z&r^gPdJa0|B$~3&-(LRBJ;)O>eNL}h1@r!m%l->P-50}RX}bu7xk{zitdQLPk)6ldmBCv2xFP`I_+`#?qEtflp?>Tqc2>_DMAGQ(G8wAIt86Y)C$w58!C0QRqmbPega^4v`Mpd%>kmiBS% z0TPU)eD&+yv|K~dQBc)%*?koR0Tdd4V~!rXfFhxEa-??GzQ8hLv)a1V&dcV2YGJVb zzI>-hwNPR0*lMy^-7f&h6K5=`$k`;R1{2z$rluf>PtELduuEmq{hkqua82USxHp|t za;3t4K(p6K{blVzDj$u|>w8%?fy}-Et)FB5Q7L+oBBk}k-tPO~;^~S?@;JgJ)$R~# zLKkmql3x}qTIjq~v!t?dR5>dAQ?M}1C~_V?nQYMdHbmvV~q=j-b{a{S^4{P;cIje4_<3JYVH` zR2AQ5+=lQcZWBDJUYq!4OAzig@QhE9k*I3#M;p5vfAFcz-;81m@$2mH=GMv(6BSM5YH8#hC|KsSFMHUW^H2x>Rb|6 zuG6@v!}vIU>9P1$tsK9uF#>x>v44gen9^LNJU|9f#-eaC7J=PU%bHvP23HI`;;RXrm`oESdvXK7iHWKZA@0mb97I#>PEIf<6Or~vV zSeaXRnTp}_qWRU&BYV#P7$r8k`(OeI6KV~1b?=hmr_Uvn-(RK|WchPN`pttYfEjFT zAoB|g9^q{{y-aNR!P5tV1uR8kNiBZL%E9;GA6h`CBBM{f&L`SQWXc7^&gY4)IgEpX zLkL!A-D!=SW34cA?!Z+PA-}E{*wIo}r^RjrPVzrNYYZx&!k2%6#1`1a0h0%U=*q3ZAD(4}k@sMWQ;vOhA{}5J} zFPh>d#%RGGS}&Su-CH*Y!$R!0g4}=6Xb<$|sdGt4sV&I-M{wojsnt@&JdRB8=g z+9i^g=M^PR9VbDow*mqo(VmkB$ z30YnW=R!pKd(t??SgIT>N({l(+0kW!nvATLZ)r?eEjSQJzvpQ&Pt<+nGmhM<7J zO<%lF!-i&5C35t~Mp8p?W1T=?o1=U6~OS^E6bi2nLFXl5H-Ya!BfzW`;7$Bi@ z5B=wfg)97bGm&T_i)+D9+yQ5DYw5_w5${AtZ!dV!bRd00&lcQjR zibmG7-5-_8&K|5zwE*7`6He2y6;{S!fxgG_NN$y^_Wz|CPuFnhDO>L~=U@Ka(}d5X zhCekxWB18uAJkOp@1O6~*x9bOQ)M*xR?NeOioJF^kNh)|FYp9xduC^x&|jfJ0hIya zAE_yVaCW(022C-U(MkDF^(A$s*8b67A0{8TBam8{XBcIUBG(@!u#aL#3A>JDIQ(8U zBEEV*5UM^Piw|S5zJqofND72pddp1N3nsW^#{!`_IDs;=LPsXitdXFmUK%38_c8Q_ zhdia($;A)dmi20AeP@15F4?uq1aN%c{_fn1R@eDH2oO{d9-#+n`cd-{!$zdN!?lbC zt&PH9mWP={#Jyyy4*~R3z;2!)9(y($tU!6Fl%AUGoYQH1vx6TXZKKwb?|?7a((Dno zeNE9hppdQpc*R=GY0pi26br;$Cd&C3+!n-`>br=vC?s_iHPDPzy5iVuo8Ktw%+klg zTS>nOkdEgGrixtlIYDuI@02+d{&o<&^!!FWPX~1fG5wP0bktDeF@Lx6xO12i$31X9 zzmWp0P1dqGzZLHv3RUCOGv{j2^cG`S@aCy|axmssk2%sb{Rp zzX8K&V*n<06Y32Tr#u7#H!sUgOKGPwZ9{vb$C}FJ9uf^ z4Qwfwv&nOXzThY9>{zaJcV`7+8uxkJO>W>t{aORShx|?Luz%ksTyTx1HGVVRRZ-Yy z1`84Zf()%RdJrfp#kdy=nl+`q>lt}W%S3&^Y4^{#3u!W$Db?g*qwZLvd1Oi0ZV0j% zH+g|`C-yOaqckVV{*F^+?h&mwV#qxqu|tk5@7Ov@n<&o3S!!QdQ8m+-Qg^20&lW)S zB#WND9&-tIbVH3?B@b<5Ib5cIPnkaO);-@r)efe`kzOEIbmFl;$Z7~2TBUfR#2o!2 z&UeD@S(~7sb$H%@S5d@pffR1qn@O=V1{nlTDmf0NJ%+k5Gj7(e^2^z~9Cek3-l5=J zgIkeejh3@wEx^;cfw21hg7?(az+Ml6ulN@lsKYqb`ICofV-PK+xyVS%IevB|S}odi zRxgi8H$E=37u~s#KH5Shq1rXh1iM6vU5e@;G_6YBZ)|Jirqy|cZ1c$SG+-jyS=1pj zM$SF{oPQ;Hs~gM0{d432+Ak=g_S9a_Kcmk(=j8^D_vjhm_|A@W)$hxia+po7l zy=O8iL7QckE(7l3frBaSxwg)XscOFI@Oh$5Bhtg7eEnrABl0DnPIRqglT_oPlX>3Q z3#KIr)bTCDlS?!tG&Fr^7~MA}&lPp%yEXCb?XA<0V~}Q5^6ViWot?F?OHWO5_RIO! z$Hd2`P$SPkJI!Krbmfjef1RN|huv90I=5?8TSw6!KvCl@ewZ~zpM>~`K?#^vphV1d z|DVbNB9*hcr>q^4Hm)nzTjY&(!aqM#i%MBN916D14!2<3jwJTvPI>0%FaO*N0mtFR9O+mq^SmsqMS?&COhY6PEyAJ(H7SD;)PQ@>GMzJKav zXeFsp!K}XSBq%o;$-I=VBQ#SdqKxED%G8Mj7tTct^9_0^>zK251{>sjh#Xgxjr*;3 zOKlJNXMP`?VQBZFxFuAX4Oc*(y5O~4Vit01=7_3l?q157CK-fC&Rgt{K&l*?9dQXe+vgPCpE!eV zMV1g^VkTZaRrHNenj8y|&D@b~W+hNc8R@Fdw6-H=GyGuU!UTCSA*n)eyQQpS3jO+% zGY8Bt|06!$yq>fU?W#(-O#Jp18x1T+PTQ4EZ%^uw7fFKX)Eljb@! zAJ08?1|?%VQcb8kh(iPW=TIw4Go&r?KhSn*mX}>Ac?PK{_gNez1~F69+Zno=#1~di zRC96cubP}q1*ww_+m@ZCJxh*NW~Y-!-YO!`HmfNE9FZUKoIc40;dGAY9*9|dQy1a? z!GEzsy$(9MUOvxNZ~1d`Ed^n3z7~|u>rWTuCDK7F^i&!V#v&PSq&W6L%GSHSA#%oM zNczRHJyS0!sr_S02A8SyOP?Q;F;;W_DIBgfJwz%3<81CBVDIzA!hy$%ur99 zq`&VgLy`EnfbTkiFIIm!l_Kt4^-n?LD&eUHLI;ayMbYYy01EST0^>&(wTC)kQL@q3WXa)AKFRk~rGSF!xf1S#Yv_ zPKU-S`7;U1L_s}F=F4fBLjLy+f22wyB2b>vzrWu@ecFAf4NS;^P2X&1=yRt(wj0l? zJ{@_5OWJYR&O3`1_)5|^&DROPlP>AatMj%?o^~4On+H0UXi1u@5O#Otj#?>|<5b|p zQn0=+Nbo$n@`8TJh|?2gU}w_)@!CSxh2rYj?I8};rq46+QmM{>>3h$kx?@{0+*sR- zyFu4e??n@|wQkZNcamT6n9n;6f~}iV#Fde?apOswuHHZCyE8tQP4T3)jc0jjbaCXR zj|l+7y?XJOE7b5VB7c1gk6#!1W zNC{mUA0>oeqRfc_@oL$rPXR&vYQff_p(ErPn7@6KXA<+WZDU@_RjB27V_PDxOOxJI zl-#um^ViwUP50>%=ZziIR|njApJ72vxr+z zDrQGfY;sM!=A9-FS?qcC%`xfKBDTe0gBXT5a0I+h=L(qZf1>!iq{UUPih+SL$!%yiTT}$X!wXE^$1d(>3cfQHS=5x^T0fdIO16!e~@pj5x&?!O@dD=y_*6lw`Rbe@C8>v z{~z@Tm93QV3k1sL0+`pE!2M_B+Jks+3;uUv)+ZZBOLsa0t1SQX(#hhLry_sLUQz6N zKG5MOt_g0>(F>YZeF?qd!taUWU`77?&(C7(>C_k(WRX2kF8V@Vw!W*hGKT_MUqBXQ zRnIzyCe}P{cWLjvP|&muJq|o|RaCH^&TlP2_^rptoAWixZPjeM_~9>!&Vu3xKt*rg12-gkGD_s(4@@$0UI01YgeKM#*kpAau^AC91g(FL*(mBrquX2W-L z#ojEZUgO~o(NO=EX@Bo0r9Hd|62%=-v2aXh(X@4m#i>BE_{2^6GE|_D5hg(GVmoic z=L_F)R7z}jRXTcIGA5+;S+NO`XVjR5TEkMmz#3)GLBL*9(&T5E z+4YIlXyVfkL+1~7D94|>S?VT2A^KMTFr8gqc~Z?CCb}~jp$kzxTbx+lv5oQ(PR4Yu z${mM_K6e*wqnDlQYz~D9Y6tC=UK{D0HJfA8*!=O=IBZmIYeol0I#kIfMCYw_Hs4=5 zE0sk1r7&C+7`TK2^H>@1Yf*_Ye&f)|8)d^6-vw5t|409y%Jz1q)TG#38_`&& z*3F=ix#y&XDWfUToo+#~>v(u^lQDp}W~%|V4!T4f;h!lW`5_5~QS@&%U4e-Qi^KHe z`uewD(T>lcgylz+v0t5POm{Z^b~}Yze%)P~_t0inEp9EyRH~D*5B6{qB7|L$=uafR zTLS3}_Xm=1nJyx)cgR-Pn1%zFnZd&nk&;U`KBpdlkl7w95c8 zYF1bYZ?~jxkH!wn99%)FHX7Y~hL>p6GKWIdXNOH)Pi7rz=~(?gZb)!v*ei?drL*d`I|iW)HZ4S~m0yXJ0*bQ6wyOm6p9N7we%ON# zXq)MpZTj7cWyG{cVt6%fxpCiQs|oH9LXV#{XBvu{CQm=%x`z?M2)Jkxmb`ReA_qZ zay8eRtDDGHV0^*PsTP3%OtcnAE*!&Q~J!EE$)Rh zjim3+ORAa}6@4~xyz>q*cb6T2FQ*3kMt6=M$NPc>;Z_C$5f_UV7{Lq}555IauM z8#9@=J14WVoN*JkAcU<7>v>)7f`N*5kh(jWnFx#H1B&_}vl9y`!DyPjmFVWIEdeV`i!qZ&LsM$@| zYnz~;mhnP%*r0)6&hmYEo)lE0eKqq@!`nH2(MzvD=0WK7WLU@-INJBJFbnj-9&c~L zz{#KAM3-t)Npw#xX1A;@g77Mi1Cj>BeKqbMv{zPms4yq;hRaBcgrqnsai7c)qlW=^ z#MqZy`h8hckQP>4ULz(uukCt;vP`9Dv;SEU|DyJ*ZZMDb@D_JO))RG4JPW?HmA()|ob@ zKQ+UyySoIOP8QKZd=V{MKVEgz2AYO{f~o2i_w%O7=k}Epqsl_lQGwplG(W1ya2rqW z5(!Vl;kUK5D|Ye*uz`SjV*SB@%!_O13efO*Fp1E)`CKcvT;!ayp{E zu!lj#oTdXCTAp$p2yoJ1_$Mi?vGTkst+ATY#|VBje^kcqnG+-}SA_JudWx`{xAUow z0y09wR_4lLHcI^qs{klBN`dKHX^d%(qB@&Bwyp81J3)z&4>l+E%GX}@bAj3}q;op# ze%AJx!F%;19x>75k-pb5z6o)Gom1Wk2SUQYRU9jT+Jm%X?R#p*NlTe5{f7A$6{eGx zJV8R8Qo?a94K7||-50lNscf;E5H{vpzLVC(%#$w!8lJgq5qYh=)800hXnBSF>-Xk{1R&j9*7e4`pRCidlP+yi$ z^Cu(~dA5IyY_Aj;jAjZh(FXX4XxNR6->q1ysqIOtz_)HqUOCk{UE&$0;@gbXx%A%r}zOw2= zM-Ehv&UjZ^5hux>oCzQ2vN>FVpdPHc=Fo5>o6=iZ&Y|*!5`4z(tc_V#y)dOT_el;c z0gC7*N&l`X^?6d#7TTIRB~^NeX>oAV@OIp|uiQ=Nor+9(iOMln6zB0v_=;EXb7kM?dN11#a# z25|9aCfr@(#n4jH?Wx#4rn+ufd7)ptxWd!Tkf|4!Lu3V^KxSwdTMM@f4dOQ zuS2O=dmk3>%cMHbhSi$S$&C2b?{tl7GiIx&Vi|}Qb5v&S#lAGA;lT45$`XIr2UI%< zQ??&Ak4dO?{~<1zwOxzRYHmGN56-$6UwyU0aRBE53`(<&QSPZ5nsKoVKIraRV zVqL~q&R_S?7a=ttqpQ7vFECW}`Z<}x8D#zL=j!S`Z$=^}Q(fuXJXS@ZFL5T;;+@1h zC9#Lk0Wrd=3lqJ2YX8{pNKm?GLawf|%OeJA?DtVmJi zWe4s={-CT*yc%Rii=bn$Yq-OUZwM^R9*6AL3+buYsbN-=s^xb69fhR9-MczltG=&K zh5FZ1%7%iE>dS@zNHcJ(NuL?E=7T$qo$6Fd^ z*GXsTAeD`u)lza?Y-S6Ar^eSK>f5vZb!Ox1UO3h_d%u{V{`yw3D}k~1u2D9+Qn1%5 z;rZsL~Y{scKcZo(rmBvqs zIY)NO3xnx1KGH1l{$=x%lk^COi6a*tvE=h2MlN(<{|2%)G7weJ&n#;ibufe^S|@1{mKP{t{WW~(n|J>5if7O zkiZrJ6N~-5VBAKZ{AEI|XQwZ^kU1s*YGU`RDq#~rEO-I=J~5%Wpc`S|u5{ig4FRK= zNYm9HgdFI^I?C0VT<)`a^{~SCJ+$fW09@;nUq1e{?*jf*V7|e!a^&)MgwHi9cD**9 zAbV#bOPH@b_}5(EqMw$Uq}zTD_oEicQAEW$Q{Tr zaai!G?@zg``3wrAw72NGyl5_RXhB%JeWNiwh!kSk2=bDXQMS4pw+{?VU?)0Xg8p2q zE-YM`>_FO=f*`B+?iyRedC_2!ksIF@UY>Yp12;@`-_}mrr2Q1m#^TL9w*&+CcZ zAK!Pe2e?ovM9crq`{0pyE?heD(9-IqDzT;W5A2T?n{v2IJgHvnn|7fYVj=05gIDxY z&&a?1ioRtcL2siwZSY4Xz-iOIz-1)z@)NM*bjKSLvurpUHKtt zv*!A57iwu$?^5**h+-LYvM>|Hyy+j)<##DT=3h<1t5+4m>a48m%=Qg4K{!S693B)E zs|a1{rK!kb`?gU$i7E%{LOUAqua}lN7R~5?WIfox>H&tG*o z1;fsUuxd(39?!3il{pu=>IHz-*U~{(BGTTPy+V_&xM@pj4Nz>jTj*meVcE$BYc!_~ z)#3zuYsVb%op=A1gnrv-(e330p>YsDZa}b>kb@u~m2Ng%WiyP^W-lzh(N(Zv{U`h@ zj));S-D}OC1S`{bE7R!G`yHHJPL^|Zb+5%p3Y~Q+#*!k~t@@y<*CAYdb#j&U^xG$9 zA^y?LDArtep~lNtwx6N*l^TUI%!t;nch-^P>qLt`ijgyIv^%qk!FZL=Y|M^)oIMQ%V(vf^R zOuaX6KF{*}X)%cQx{l|*s_`ilvd?M!Z06MW*{cI7k71q@fS z2ya}z^1PN~WpEF9m%rV62cqR90sD4TsrcU23HFpvS_ z2e(J8d@wG7ljQj}%(hB+P3evaV))ChD%+Ma|6v3d?x(G#mob08qQwQPQPh5DuK!4J zW3=yJwonu}-M6J5*h^|4w5;XZi{PUCvLg*LOk%h|Uso_1Dzl6uR~$}v z4USQ6nsCFE?Pm?}u;XV9J1|)cBSB$b>SZhCGUnWP1pn(_zQ(PhvO5vG48V5+I8j)i zA^kLL#0jDLak8(pwfwA$r1FEm?&_O0@bszQQbalupWXN(SA}TCy@C3MY5|5h=!BWC zz!!||C)@CRrvC9}T4vQ_yN|(8OY(7s>rUWEXIDjtasbjgr0?LOG#|r$N;JK z?rkv-CG*q%N@0cx3D2rwM5C;~V9XzIk=xVdA4fBvQ;*?LNxLAMc*}aFm%WzGR|=KO zmLEUgw4q}IJ}EAw-1z~e%IhP3aaQ^ZDcQBTBCLv7lQy`a4lk`te;7#JR}P+uZ=HXT zfSL(zHFo`|e^ouLdc`GgdVdd;G^R@~!92C?^USUd$;^q^TWr5%)bux8gQnJXHi8? z;Vm-{<*lJYXuj`j-ZBcsm7?FoO?P@rqXQh!0%u6hDo&d)C zQiyE#F;zo#taE$}03j7Vxz{OZ?=q|lCfC;ebt!H)r&-=mY)RZSS#%0>?iz3oHC1p$ z;|Lz4p9ow~Yd5^yD>>=?-6PhR^aPIk;cP)5*=8Jx2neY|Sk925XGLfA*`00pWe#O~ zPCh9H7I6fuK?BM35}fZ?a-8P2Ne!h?&mI=MLKr0Y!i^K5?0AGvwB87HqU^vE#N_W? zlokJza<(<7@T}ci2?dY1cPWJI8XN6@FvN}2`sUtJDG0!J;-u6Nb(ls}wIKC(s|_li zqJK^W?)OfYKG#|$g?uY1X)qHC8Os4K)&*5jN!gQK9fV5QZ7Tt+9e=VihgvKAu%5%# zdTsF`TEq-UYS%@d>vN&G`VPJ_rHZrgaF}p3#y4tyM?pIjkt0NqyR}O-Tm23sBZ#M< zXjzbH{X`*{md?`1;^fl*uX9vSniNU_&XqeedSy=r5@&@=v6c?VWFhfHB?Rf!cif6b z-Sj2*Ri-w5KGsZ89jb1p%Kn;o&Ru3Z8Dn-qs=goC3|nxWm@_-rgyKhfkZ8xEpZo<& za`O!x_FfI`^&rw@r@yOm@%N<4DqumTsSv0dPbph%-%qNhqb1VL>tYIDhMXAmwC4S8 zfQP+q^@alnUf=c+5u@I+E9~5$-{M4hseypZ2mK_}I;;>qTThK?Dym9hH z^MD+Qd-i=FyUrYb2Prl#_%a{U7e6A^U3VoP5m~MwPvCPRr)zOL{JETeU;44AZ452zy&S ziVxuM{;vIvZ!lF(n@kxD5DkB63o`J|5?&O~Y7$hYhD2pkev7>;P(VOLnD_jHgSfplPi}d zQ*HqOjO1+_ca&>S12?tTTN+~{e)~%Li@$EMAP(BZdZ`;AQYK61$im|;oT!7}^$c}$ukQiEw zE8WX#QVT@kQLEUWUnOtLjQbX_EmQ92?=%bp7P9y{$W?yC$i)og>8gIcXX?L=+?eKem1W72?!0W0Czc6WQ!6CHTQI|(KG{kyLfc69{bj3wGF0t=kG!j zJZKkfZ-;fj`eDYi*9tV=m-6kIc+Z{_g~Vb0&7iB0uU(r${;je^O?}D_a&>Ddhvd_3 z0I;k^A?C--X3ouePj*TpcY<+%DbO;1@koV%ZvI+w2C~s1<#5t~dX~~3Mu6*`{u6Jg z&4^!Bc(${Uoj!Ww>;zN$=wdBwcVuV!uE5^N>aa@W~JrBYgoS- zxNsZt(&kwQh?WX#F%Q9cmIsox?A{RjmL^C6Q;RNQ`=j!mmAi}@ljki?YUvH{$~$$S zg~~N(%@vo(KI24bx}@r42b&vG6(3Dc5(MT#;3HKJzif=0wqV zo-;dk{CXvQo+^h^#Mk*x=j^w;-JKi_>@9vd%e-s;9=%hs^IVhN7&Yha64Q0nEkmSWM32*=OIG#e4I5}sBkGZh(^vanakA>u2-3wz4$ z%|~_R&f(c)gQ}d}ARK=&g+c7~aW^FFdCZyY&mxwv>1-##%zYIq!?eR!k5iP%byhCb zT4D>NYDx<{SDZXu>POy3k5yu&@;!ZV;ho&tb{A! z-MLv?uj-#bHDr32;dg1TG*?OoI;-EV#Rj!FNq_LE1PBEqd0y}%J9NK0);_=xqhxA4gnz91gGcqV-IBKruvhEhN7yk%pb7#L~Rj+QXBD!fSB|DtfI*W~xIPeeX}5T}Tf)*ObfTvL_cDbL~Yj}4dx091k;E;Q@-NTMwP zoVj@pc_g4KH>+ef(OV60g!bN?sBV+l`JX7u?%!#KV52iKiP6Hf#@ZB_ z<^xIn{^pf|Gc)?)C#JW~ce5R0gaRQFeQCcu_WL)aG>%vKlWu!SD@DA=z_MByTEW$h zFjtn5BD4hKm+dfPCQ?jI0=^6Xwmw0D4{ksIM)=p|Hnbfs zkN?)Jn&&Z~W-9?<{}?Be)hw!hJNky#F`_4`?Kkaw-_RPTi*D^aa^jtDf0xXXeyo$s zLh=HC+oNS(U8*#R6~FUI>Eb*((JOzxx_l79@!!pcX`Mya%%#YWKT`B`1h-*J^ChJv zC3S?&c3FGoY)iG=6TQwkQ`wIjC-trM%yZM1A?3T+Z+d6q&L2J{E@=5}7<&W)o8FT} zsObXB$1#CB%}Vd%{XL^Q1b?qG4#AFdp|8EZZcYOGhBv>J=>?F8`}B6VErzM!y{MZ= zh}yTik|vcLj`lU(TdfPVF~lEmw7_`ZLeC0&x@3{!i$%SfP1`=%foc-mRcabuUuaK_ zk_S-;R7>MyoJLwCB|gYFc}EV!?ls&m>pk$5+DASdj0yEe>8l0Btj#VjiT8>Tw1PK1%5+dIpQ zi2zTM@Z&?`yqYYxsIp0sGrY+#z4sfu=aO1tLwdWJ^IRfaa`R(JH4sNOY5A@^(P#DI zHFUG|K9EuRWru_0M7iv6$s5Cye3js>j?7QDHM#As7-dPz`dFM6B*JIPO1z zg@+BR=ROwwr7w!9S+BlfT7UwW6!#&1(KxQQg?EC5I_Kug0Y1RxgnoktYyP3yzt;wY*Ly z$+&4)-rA+g#pN2q{Z$?Mx{fcNkXYt|n>{=((2$;@H{a1_g@U~;HAr-AmP8bcV&m+~ z2_cgii0mjxXF2!{Y+r(bH*c$Ex03b&yzklz=T)d2M@Lw@WIv|X2AHIPTc&X`<|R^$ z8w=fnfv=8{Ry}xTvZ8iRN#Z$wXlwTNT9lM@kCb2ozuo8@*+CkUu!?-;4%dJz3FzDd zJsHi|0DhS=?M$rhn-tEcr^EAT3XHEnj$s%m_&^C6iFP9xEixkx*q9IO=KC{7zGhNh zFMBw%IM=az13!TRgxzGg*}r-f!M+h zp?lLVPtTw?GC!ZVC8uCM@Sm{OP~%*xy)ygnQ!RTeFnpXgtz@!A*g z$g$Ws?{#An(~h{X#${+O$?0)W*;@!>$Uj0K2p`#eP_ikk*A^4GX5hfK_;yYe4CqRW0CG5 zjE!q0?){TOb3xX>KA7alT1< zl>tm#C;l&>L7-X&-2Zila`{Or=;%+0ackB*b+G8Snn9!j;dtee&Z2C(aCj#A(3d= zk_CCbCtZA4HGT-ne-gRjl4C<#_|zD3!+hp9zFwTWt0pn?Z$6vs<;}mLRtb=P=zZel z+Bb&Ve&FyZ&cVqXf%#sj50~ySK6Gv*?K{zy zzx}tpp78+AtmpauIVQaK4#4F@qQcv!50Pc!5@iwKl))M7`dOzIk3MZ;{-! z{9hG=gEt~UAuvRNKxsv9SWs%T*m6l!OoHj8Da5J*JyK$#ZU~ zWH^9wKozd2T|E_a&!gvQw=PWs{a2_LwKn+BdLmrmLUsh%4O8rSQ5NaSYYrP!CyTy3 zn{fT;|Am$heq5m%L>)4pc*8>@QTJ#;$T{bid{cRpt$J)N*=aZN?A)QB1?QhE)o#g{ z{evG?pP?fb_lc1c^v_mTKu44LEvo55=dxa`%ta8{rqJi#=3PefB{PFD_5hPYngiUpC;;7FX7%`5_BU;A5fN;rYX z1|AQ%dL^8FrDXu035x*B;yt(KhMamIJ8{gFGfVi;RS>$0cewsr1LV4{0A9+&MQzXs zzve&Q0v4d-8};XCyJQ@1K+BrI;FuOXrg}!n!MfFlE-9$3r)!g(f{{LS{0l4Ecgn;s z*#NJ+L*>QpQL{G5BMfJvo>?s-6!~&wU{Ll4;bUn1%?r{U$bruGQ@{7cix(jyaVc>& zahBippsxtv-rOEReONISNa{PYJB^<;&I7+YphkaW7XPk2%ZdpG_$F=zGXT$-3NO0i zb(Hu*yyI7tnlZwkgBDb~xD6iK@Kb2{&YuC%G49^$K^7E7xMl^MV>{Ds>)-UaPUln3=RVxJ>cCV)^{*u+-@ z@Q8QBq0Z%^Ta2*ufFLuT&%nv~ZPKu33hF4JKzP zec~VI7;`v|@^m;3rIn!%w%Vl_XJN~CFz@zOu|gJKupRZ3NBHb_cd7fmr-OmY+8=(EU#ND- zsXkd#-&<|Dez-(jyxCjb)xMiQjyiwmJNj>2pE;XBluy}9RA z$ARZPdGCe}%XhYorJt32JU}NN{>=5EDl?D;bF4{g8Ror{)e%EQZ%sbQIAXT#uaxh* zpEa0hOBhJghKrINYRzvhwfSv4Bpr=|7m>b`%3%5k1ZyY-r^>boLWk0j}fc=49eWmJIq z+b2x?dJ|dU?K2BT+^@sO4)YO7vAo!<%Sc84LG3LaAKAnBo$aQvC+xB9ew zVew?_hnxBiV4PKEBYr^NcYiYml%NZ;t4hCxITXaWdARTX`URTf?0K@wpPBO`1?yWG zwdwr?6Y)xhz2@GK%l*mCIAL8IwkXPi2A z*ZPR^V2Qy-)eWhNzMb|vmP&4TBZY`N!**HycdgbGy>_Eud zP`eg;84>D%*Niwj%_-N}Wt$eBL2zq1$z>Y%N-Dxx!Hj*gpyKJv=d(8j^QA!}J9gA3 zpWGo=$q}_Q%S)Nv4x2Nn&*02rWvmwr?=`f0L?x^=cD_fQ?0r+q2fekVq!}xE(q(UZ z+cvQNaCcO4&AFZcs;l)(2GdNh_w6t!_7G^wc7KGp_sL0T24j+00kp)wFxBboe$N>} zxU38%EeP`7^vcoNhurQR6nNm{5WVdW4*6rG*B%P1_0 zZTCX2Z+$daAl-4f|5DO+f+@sr-%K(fBmKSY?SmoE)qgpu^*=EJlZWOSpAW~n*`~4~ z^o}*w5z@};1jT~ANa2sYv24h(j>UN;>z9v+wy}RQtE`W3_&$WV)>uB1LUV2`^g!+y!g4NCq{zw@o>i z*e6U~L>@=`d~yAdF84<2*WDP9ZY5wjkEi&i@J19}VfL`h>l4(oXU)NM8cVN)IjS>z z5V<**2x7c${BtrBz!1y#lFw$T+7nkCWQIht*1prFHiUt?-yj+G+m}=} zPV>&4JmoLUh~5q#h*ww)=LMKaX{PnCqgQKRU7^kgzilR$oUrPxiv@ajr-Eag?j5_w zm2kW}q5jQ(G*3^jAre-G6z*H_OcLc49(KJs>mS(Rdk_zDxeC`D5>Qov6KDmWJ(E26 zMYuU{+};8t>T# z4~YRAhlJRY2Ew@2QJG-T^=c_6$3qxioFy!wPDO?^#s-nZaAeU&Rwi&AknXyN>(+xD zH4nD^;!^+Ms%U>X5Sooe&tO`H^rjnVBGiExy$ArugQEtZFD5QQ@q+zD>)&XzWG+S% z;OCtd$_P=t=%gTv-({pCix(BI-G~~nvgOjwM|!qbF!s$GyWWP=5}VJpEfZvgYRYk- z-y+w0>dsUa;3#*40z8~N2eIt=a1;7h*HM42SkRH<&{T%jJE6QRKMQwpPTp82ZV5BV zC_9iLah#Op%{_iUC}Bpv45nbZno7GS3zw43Vbn*KQzUe%U(Um_*a4O1Ziz76Aj4d9 z@HBsJT@j$u9MQX3{k-`1JGq^;tIc*wjMB4X;R**up5of8l{$@e+jPSK3m)3-(W5rIvUeMB95w_O|? zV3WiTdIHYN3rFB*N7KSqrb0PGik+jLeF#2#{A%r7EU`(m!G1}QpLW-6KsG4j^_1c_ z`M6{|DmC@*xE2%MYWO}YN9o90ENQDUO^i{QW7pbiUZ?Z2<4rg1k^L9a?`^*s042hUg{&&rRp zk&uV!*H?hzkL)pl(5CNZ*QO-Mxg+aW@?xHHk_+)X)>fdwb6LW^mwi>2!%|Df7q1CK zG68hojrfy9RX@$44VNgV{z3gF8TS+`2%>AhcK)c#`x(=a!5GuCG3={C8@ER{&6C@6 z;TN&1F3|=&4jgo6qQRAgkK6+~dB&Qb5>9^Ea9d|we+v1oxGZ&c)-^jna$N2)0elj- z5s)OE%-OHX?rUCk>8QuAnH4U&0;TnZPFzA`Go^7)b=WvlTi>y9BCzBXJ8ZgJ^g~yt zHB48|7be8rV*X|*2V5`AG@0?9JEW`5HU)xAvCLWuPb-|)R$#DD<|!0g zzkR&KG5v?Wa1Ujm@;I8r3-A#PkBIvv0ZK&9pb4j3oU9u*dl;D!ed}-7L1CTLk+Q1Q z4RpiuR!VX9VZk;^ap!-U^FD?@BocqN)+(}$taxuwoGO8r98J{bXJN+IzGSR{%G!;$h9v{4+1N(MsH^*(i%;w7*jnr$8X|+OTMY&R$ zK`Dz8Lg#5Td_pYE<$#+UNrFC@yXK6TZJT))4+UCM`1ozHiLA4UAB(WJyYg4$@WEs3QS6e&*NM{whoU`w)(ypk>rb>$< za^fs13HdYSLWOlC!}7+|jvo>36At$H3lAz|1RU8VzNa zhG$R{*BwDJS0d&Cp<~f$6{vYF`r7B&7d({CItK@A<1oF+Km5J6F;$tpNgL^bE0cwP zaA&!&4tz{LIM(qALtHeqQFI`t7{jpurA@ ze190S7HTX;u|mK%K%yLfClhY3nf}IXZu~Q}8#IqDe-#Q8aA5*8pEpYdtg*#;$kzJV z81mcb8{YmsgGU# zJgagrOca{mk@Co3;GZ9xGOXN~U7OVlkrW}dxde>x6ge_<_S#Ua&MrhY|TVX+wq5pH{8t?Ju=Z_xs%RfEoJCkbH5WFW0XNM&fMk zT63f-)Lv%}JGcpMFf+y1N&Hb}>Ut)S=-y4VV3m-)>0{8+u;|cSscFnt?^C8!BseNn zINX*Ye#S9(D`!ysM&S`&oD+?FMMd(_8wacjvrO)|}?#uItNXG)k%$4JhHYLHWr7KX!_aQDxwk zDE@rbQxOHN)w+>3o42{R>fao)FG=&OTI<9&zyV2{t4+Soks@1kgmYc|t5D78b&Rs=nz791Cb?mpK zgDpiy%r9frz9sDt`i?e4D3^un2G91)4bz~fkxX@&`fc*b1ekh8409UHT- zAY0XCkfW5gw%dev^I+$S8~L~T%^}6@Ct0Rj*%Kamf`XKnzWhuu4Tb(T{Sfk~x1Xci zvUbneWX7JC>%PkTJw{`xeeP~qTJ|DfHP&wzwG``entkLsfW6#aV>?h0zxTy4&)M;z zw&PQnHx{_#W9moO*8-Gy3c6#mIKA}|0j<7e*|zZ%-dE?Msyue!N(sP$Q%Kt5PIE@J z$}JMg@0ZD_i8hx{{&FNr%koWHZV!Z diff --git a/doc/resources/ace/skeleton/images/sidebar_border.png b/doc/resources/ace/skeleton/images/sidebar_border.png new file mode 100644 index 0000000000000000000000000000000000000000..ea6cd700be849c020b74c06ca2c4ed521b744cd6 GIT binary patch literal 2967 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 LQ|<2BoVog6l3=FD literal 0 HcmV?d00001 diff --git a/doc/resources/ace/skeleton/javascripts/ux.js b/doc/resources/ace/skeleton/javascripts/ux.js index 2ecbd55c..7da8303c 100644 --- a/doc/resources/ace/skeleton/javascripts/ux.js +++ b/doc/resources/ace/skeleton/javascripts/ux.js @@ -48,6 +48,7 @@ $(function () { // init prettyprint $('pre > code').addClass('prettyprint'); prettyPrint(); + }); $(document).ready(function () { @@ -86,7 +87,7 @@ $(document).ready(function () { var $classContent = $(this).closest('.classContent'); $(this).scrollspy({ - min: $classContent.position().top - 55, + min: $classContent.position().top, max: $classContent.position().top + $classContent.height(), onEnter: function (element, position) { var $pagination = $(element); @@ -135,7 +136,7 @@ $(document).ready(function () { } }); }); - + $('span.methodClicker, article.article, h3.methodClicker').each(function () { var a = $(this); var constructorPos = a.attr("id").indexOf("new "); diff --git a/doc/resources/ace/templates/layout.jade b/doc/resources/ace/templates/layout.jade index 6ebaa5cf..7dbf299c 100644 --- a/doc/resources/ace/templates/layout.jade +++ b/doc/resources/ace/templates/layout.jade @@ -10,17 +10,18 @@ include lib mixin head(title + " - " + fileName) body - + mixin navBar - mixin header + header.filler - .container-fluid - .row-fluid - .span2.sidebarContainer + .container + .content + .row.centerpiece + .span3.offset6.sidebarContainer #sidebar include ace_menu.jade - .span10 + .span9.mainContent #documentation mixin api() diff --git a/doc/resources/ace/templates/lib.jade b/doc/resources/ace/templates/lib.jade index 09e7110a..449c4826 100644 --- a/doc/resources/ace/templates/lib.jade +++ b/doc/resources/ace/templates/lib.jade @@ -141,12 +141,7 @@ mixin article(obj, parents) -description = obj.description.substring(obj.short_description.length) // cut the short_desc out descArray = description.split("\n#### ") - if obj.arguments - h4 Arguments - != argumentTable(obj.arguments, ["argument-list", "zebra-striped", "bordered-table"]) - if descArray[0].length && descArray[0] !== '' && descArray[0] !== '\n' - h4 Description mixin markdown(descArray[0]) if obj.bound && ~obj.bound.indexOf('#') @@ -160,15 +155,14 @@ mixin article(obj, parents) != link(obj.bound, ['link-short'], 'generic method') |. If calling as generic, pass the instance in as the first argument. - - var r; // Probably inefficient; we want the Returns section under the Arguments, no matter where in source it's defined - - for (var a = 1; a < descArray.length; a++) - if (descArray[a].indexOf("Returns") >= 0) - mixin markdown("\n#### " + descArray[a]) - r = a + if obj.arguments + h4 Arguments + != argumentTable(obj.arguments, ["argument-list", "table", "table-striped", "table-bordered"]) - - for (var a = 1; a < descArray.length; a++) - if (a != r) - mixin markdown("\n#### " + descArray[a]) + + if obj.retDesc + h4 Returns + != returnTable(obj.retDesc, ["return-list", "table", "table-striped", "table-bordered"]) //- children for child in obj.children.filter(function(x){return x.type === 'section'}) diff --git a/doc/resources/common_layout.jade b/doc/resources/common_layout.jade index c15a92cd..12a5294f 100644 --- a/doc/resources/common_layout.jade +++ b/doc/resources/common_layout.jade @@ -36,25 +36,20 @@ mixin head(guideTitle, additionalCSS) script(src="#{dirPrefix}resources/javascripts/jquery.collapse.js") script(src="#{dirPrefix}resources/javascripts/jquery.cookie.js") script(src="#{dirPrefix}resources/javascripts/bootstrap-dropdown.js") + script(src="#{dirPrefix}resources/javascripts/jquery-scrollspy.js") + script(script src="#{dirPrefix}resources/javascripts/prettify-extension.js") mixin navBar div.navbar.navbar-fixed-top div.navbar-inner div.container + ul.nav.topLinks + li#ace_site + a(href='http://ace.ajax.org') Ace + li#ace_api.active + a(href='http://ace.ajax.org/api') Ace API Reference form(id='searchbox', action='', class='navbar-search pull-right') - input(class='span3', name='query', type='text', placeholder="Search Documentation", title="Search across all the documentation") - -mixin header - header.jumbotron.masthead#overview - div.ace_logo - a(href="http://ace.ajax.org") - img(src="#{dirPrefix}resources/images/ace_logo.png", alt="Ace Logo") - .container-fluid - .row-fluid - .span2 -   - .span10 - h1 Ace API Reference + input(class='search-query span3', name='query', type='text', placeholder="Search", title="Search across all the documentation") mixin footer footer#footer @@ -67,7 +62,7 @@ mixin endingScripts - + //- @@ -84,26 +79,7 @@ mixin identifyBuild(tree, type) -dirPrefix = './' mixin markdown(text, inline) - html = markdown(text, inline) - != restoreNotes(html) - --function restoreNotes(html) - -var noteORegex = new RegExp('', "ig") - -var noteCRegex = new RegExp('', "ig") - -var warningORegex = new RegExp('', "ig") - -var warningCRegex = new RegExp('', "ig") - - if (html.match(noteORegex)) - -html = html.replace(noteORegex, "
") - if (html.match(warningORegex)) - -html = html.replace(warningORegex, "
") - - if (html.match(noteCRegex)) - -html = html.replace(noteCRegex, "
") - if (html.match(warningCRegex)) - -html = html.replace(warningCRegex, "
") - - != html + != markdown(text, inline) mixin formatGHHref(url, type) url = url.substring(url.indexOf("src/") + 4) diff --git a/lib/ace/anchor.js b/lib/ace/anchor.js index b11d36e1..7aab9d55 100644 --- a/lib/ace/anchor.js +++ b/lib/ace/anchor.js @@ -170,7 +170,7 @@ var Anchor = exports.Anchor = function(doc, row, column) { }; /** - * Anchor.setPosition(row, column, noClip) -> Void + * Anchor.setPosition(row, column, noClip) * - row (Number): The row index to move the anchor to * - column (Number): The column index to move the anchor to * - noClip (Boolean): Identifies if you want the position to be clipped @@ -219,7 +219,7 @@ var Anchor = exports.Anchor = function(doc, row, column) { }; /** internal, hide - * Anchor.clipPositionToDocument(row, column) -> Void + * Anchor.clipPositionToDocument(row, column) * - row (Number): The row index to clip the anchor to * - column (Number): The column index to clip the anchor to * diff --git a/lib/ace/background_tokenizer.js b/lib/ace/background_tokenizer.js index 303daaf0..0db78bf8 100644 --- a/lib/ace/background_tokenizer.js +++ b/lib/ace/background_tokenizer.js @@ -100,7 +100,7 @@ var BackgroundTokenizer = function(tokenizer, editor) { oop.implement(this, EventEmitter); /** - * BackgroundTokenizer.setTokenizer(tokenizer) -> Void + * BackgroundTokenizer.setTokenizer(tokenizer) * - tokenizer (Tokenizer): The new tokenizer to use * * Sets a new tokenizer for this object. @@ -115,7 +115,7 @@ var BackgroundTokenizer = function(tokenizer, editor) { }; /** - * BackgroundTokenizer.setDocument(doc) -> Void + * BackgroundTokenizer.setDocument(doc) * - doc (Document): The new document to associate with * * Sets a new document to associate with this object. @@ -130,7 +130,7 @@ var BackgroundTokenizer = function(tokenizer, editor) { }; /** - * BackgroundTokenizer.fireUpdateEvent(firstRow, lastRow) -> Void + * BackgroundTokenizer.fireUpdateEvent(firstRow, lastRow) * - firstRow (Number): The starting row region * - lastRow (Number): The final row region * @@ -147,7 +147,7 @@ var BackgroundTokenizer = function(tokenizer, editor) { }; /** - * BackgroundTokenizer.start(startRow) -> Void + * BackgroundTokenizer.start(startRow) * - startRow (Number): The row to start at * * Starts tokenizing at the row indicated. @@ -167,7 +167,7 @@ var BackgroundTokenizer = function(tokenizer, editor) { }; /** - * BackgroundTokenizer.stop() -> Void + * BackgroundTokenizer.stop() * * Stops tokenizing. * diff --git a/lib/ace/document.js b/lib/ace/document.js index 319d15cd..0692aa8a 100644 --- a/lib/ace/document.js +++ b/lib/ace/document.js @@ -234,7 +234,7 @@ var Document = function(text) { /** * Document.getAllLines() -> Array * - * Returns all lines in the document as string array. The caller should not modify this array! + * Returns all lines in the document as string array. Warning: The caller should not modify this array! **/ this.getAllLines = function() { return this.getLines(0, this.getLength()); diff --git a/lib/ace/edit_session.js b/lib/ace/edit_session.js index 73082fc6..f61df11c 100644 --- a/lib/ace/edit_session.js +++ b/lib/ace/edit_session.js @@ -105,7 +105,7 @@ var EditSession = function(text, mode) { oop.implement(this, EventEmitter); /** - * EditSession.setDocument(doc) -> Void + * EditSession.setDocument(doc) * - doc (Document): The new `Document` to use * * Sets the `EditSession` to point to a new `Document`. If a `BackgroundTokenizer` exists, it also points to `doc`. @@ -136,7 +136,7 @@ var EditSession = function(text, mode) { }; /** internal, hide - * EditSession.$resetRowCache(row) -> Void + * EditSession.$resetRowCache(row) * - row (Number): The row to work with * * @@ -157,7 +157,7 @@ var EditSession = function(text, mode) { }; /** - * EditSession@onChangeFold(e) -> Void + * EditSession@onChangeFold(e) * * Emitted when a code fold changes its state. * @@ -168,7 +168,7 @@ var EditSession = function(text, mode) { }; /** - * EditSession@onChange(e) -> Void + * EditSession@onChange(e) * * Emitted when the document changes. **/ @@ -196,7 +196,7 @@ var EditSession = function(text, mode) { }; /** - * EditSession.setValue(text) -> Void + * EditSession.setValue(text) * - text (String): The new text to place * * Sets the session text. @@ -292,7 +292,7 @@ var EditSession = function(text, mode) { }; /** - * EditSession.setUndoManager(undoManager) -> Void + * EditSession.setUndoManager(undoManager) * - undoManager (UndoManager): The new undo manager * * Sets the undo manager. @@ -310,7 +310,7 @@ var EditSession = function(text, mode) { if (undoManager) { var self = this; /** internal, hide - * EditSession.$syncInformUndoManager() -> Void + * EditSession.$syncInformUndoManager() * * **/ @@ -377,7 +377,7 @@ var EditSession = function(text, mode) { this.$useSoftTabs = true; /** - * EditSession.setUseSoftTabs(useSoftTabs) -> Void + * EditSession.setUseSoftTabs(useSoftTabs) * - useSoftTabs (Boolean): Value indicating whether or not to use soft tabs * * Pass `true` to enable the use of soft tabs. Soft tabs means you're using spaces instead of the tab character (`'\t'`). @@ -401,7 +401,7 @@ var EditSession = function(text, mode) { this.$tabSize = 4; /** - * EditSession.setTabSize(tabSize) -> Void + * EditSession.setTabSize(tabSize) * - tabSize (Number): The new tab size * * Set the number of spaces that define a soft tab; for example, passing in `4` transforms the soft tabs to be equivalent to four spaces. This function also emits the `changeTabSize` event. @@ -435,7 +435,7 @@ var EditSession = function(text, mode) { this.$overwrite = false; /** - * EditSession.setOverwrite(overwrite) -> Void + * EditSession.setOverwrite(overwrite) * - overwrite (Boolean): Defines wheter or not to set overwrites * * Pass in `true` to enable overwrites in your session, or `false` to disable. If overwrites is enabled, any text you enter will type over any text after it. If the value of `overwrite` changes, this function also emites the `changeOverwrite` event. @@ -458,7 +458,7 @@ var EditSession = function(text, mode) { }; /** - * EditSession.toggleOverwrite() -> Void + * EditSession.toggleOverwrite() * * Sets the value of overwrite to the opposite of whatever it currently is. **/ @@ -476,7 +476,7 @@ var EditSession = function(text, mode) { }; /** - * EditSession.setBreakpoints(rows) -> Void + * EditSession.setBreakpoints(rows) * - rows (Array): An array of row indicies * * Sets a breakpoint on every row number given by `rows`. This function also emites the `'changeBreakpoint'` event. @@ -491,7 +491,7 @@ var EditSession = function(text, mode) { }; /** - * EditSession.clearBreakpoints() -> Void + * EditSession.clearBreakpoints() * * Removes all breakpoints on the rows. This function also emites the `'changeBreakpoint'` event. **/ @@ -501,7 +501,7 @@ var EditSession = function(text, mode) { }; /** - * EditSession.setBreakpoint(row) -> Void + * EditSession.setBreakpoint(row) * - row (Number): A row index * * Sets a breakpoint on the row number given by `rows`. This function also emites the `'changeBreakpoint'` event. @@ -512,7 +512,7 @@ var EditSession = function(text, mode) { }; /** - * EditSession.clearBreakpoint(row) -> Void + * EditSession.clearBreakpoint(row) * - row (Number): A row index * * Removes a breakpoint on the row number given by `rows`. This function also emites the `'changeBreakpoint'` event. @@ -555,7 +555,7 @@ var EditSession = function(text, mode) { }; /** - * EditSession.removeMarker(markerId) -> Void + * EditSession.removeMarker(markerId) * - markerId (Number): A number representing a marker * * Removes the marker with the specified ID. If this marker was in front, the `'changeFrontMarker'` event is emitted. If the marker was in the back, the `'changeBackMarker'` event is emitted. @@ -594,7 +594,7 @@ var EditSession = function(text, mode) { * } */ /** - * EditSession.setAnnotations(annotations) -> Void + * EditSession.setAnnotations(annotations) * - annotations (Array): A list of annotations * * Sets annotations for the `EditSession`. This functions emits the `'changeAnnotation'` event. @@ -622,7 +622,7 @@ var EditSession = function(text, mode) { }; /** - * EditSession.clearAnnotations() -> Void + * EditSession.clearAnnotations() * * Clears all the annotations for this session. This function also triggers the `'changeAnnotation'` event. **/ @@ -632,7 +632,7 @@ var EditSession = function(text, mode) { }; /** internal, hide - * EditSession.$detectNewLine(text) -> Void + * EditSession.$detectNewLine(text) * - text (String): A block of text * * If `text` contains either the newline (`\n`) or carriage-return ('\r') characters, `$autoNewLine` stores that value. @@ -704,7 +704,7 @@ var EditSession = function(text, mode) { }; /** related to: Document.setNewLineMode - * EditSession.setNewLineMode(newLineMode) -> Void + * EditSession.setNewLineMode(newLineMode) * - newLineMode (String): {:Document.setNewLineMode.param} * * {:Document.setNewLineMode.desc} @@ -725,7 +725,7 @@ var EditSession = function(text, mode) { this.$useWorker = true; /** - * EditSession.setUseWorker(useWorker) -> Void + * EditSession.setUseWorker(useWorker) * - useWorker (Boolean): Set to `true` to use a worker * * Identifies if you want to use a worker for the `EditSession`. @@ -752,7 +752,7 @@ var EditSession = function(text, mode) { }; /** - * EditSession@onReloadTokenizer(e) -> Void + * EditSession@onReloadTokenizer(e) * * Reloads all the tokens on the current session. This function calls [[BackgroundTokenizer.start `BackgroundTokenizer.start ()`]] to all the rows; it also emits the `'tokenizerUpdate'` event. **/ @@ -804,7 +804,7 @@ var EditSession = function(text, mode) { this.$mode = null; this.$origMode = null; /** - * EditSession.setMode(mode) -> Void + * EditSession.setMode(mode) * - mode (TextMode): Set a new text mode * * Sets a new text mode for the `EditSession`. This method also emits the `'changeMode'` event. If a [[BackgroundTokenizer `BackgroundTokenizer`]] is set, the `'tokenizerUpdate'` event is also emitted. @@ -863,7 +863,7 @@ var EditSession = function(text, mode) { }; /** internal, hide - * EditSession.stopWorker() -> Void + * EditSession.stopWorker() * * **/ @@ -875,7 +875,7 @@ var EditSession = function(text, mode) { }; /** internal, hide - * EditSession.$startWorker() -> Void + * EditSession.$startWorker() * * **/ @@ -904,7 +904,7 @@ var EditSession = function(text, mode) { this.$scrollTop = 0; /** - * EditSession.setScrollTop(scrollTop) -> Void + * EditSession.setScrollTop(scrollTop) * - scrollTop (Number): The new scroll top value * * This function sets the scroll top value. It also emits the `'changeScrollTop'` event. @@ -929,7 +929,7 @@ var EditSession = function(text, mode) { this.$scrollLeft = 0; /** - * EditSession.setScrollLeft(scrollLeft) -> Void + * EditSession.setScrollLeft(scrollLeft) * * [Sets the value of the distance between the left of the editor and the leftmost part of the visible content.]{: #EditSession.setScrollLeft} **/ @@ -1145,7 +1145,7 @@ var EditSession = function(text, mode) { }; /** - * EditSession.setUndoSelect(enable) -> Void + * EditSession.setUndoSelect(enable) * - enable (Boolean): If `true`, selects the range of the reinserted change * * ENables or disables highlighting of the range where an undo occured. @@ -1281,7 +1281,7 @@ var EditSession = function(text, mode) { }; /** - * EditSession.indentRows(startRow, endRow, indentString) -> Void + * EditSession.indentRows(startRow, endRow, indentString) * - startRow (Number): Starting row * - endRow (Number): Ending row * - indentString (String): The indent token @@ -1298,7 +1298,7 @@ var EditSession = function(text, mode) { }; /** - * EditSession.outdentRows(range) -> Void + * EditSession.outdentRows(range) * - range (Range): A range of rows * * Outdents all the rows defined by the `start` and `end` properties of `range`. @@ -1458,7 +1458,7 @@ var EditSession = function(text, mode) { }; /** - * EditSession.setUseWrapMode(useWrapMode) -> Void + * EditSession.setUseWrapMode(useWrapMode) * - useWrapMode (Boolean): Enable (or disable) wrap mode * * Sets whether or not line wrapping is enabled. If `useWrapMode` is different than the current value, the `'changeWrapMode'` event is emitted. @@ -1497,7 +1497,7 @@ var EditSession = function(text, mode) { // in that direction. Or set both parameters to the same number to pin // the limit to that value. /** - * EditSession.setWrapLimitRange(min, max) -> Void + * EditSession.setWrapLimitRange(min, max) * - min (Number): The minimum wrap value (the left side wrap) * - max (Number): The maximum wrap value (the right side wrap) * @@ -1535,7 +1535,7 @@ var EditSession = function(text, mode) { }; /** internal, hide - * EditSession.$constrainWrapLimit(wrapLimit) -> Void + * EditSession.$constrainWrapLimit(wrapLimit) * * **/ @@ -1578,7 +1578,7 @@ var EditSession = function(text, mode) { }; /** internal, hide - * EditSession.$updateInternalDataOnChange() -> Void + * EditSession.$updateInternalDataOnChange() * * **/ @@ -1698,7 +1698,7 @@ var EditSession = function(text, mode) { }; /** internal, hide - * EditSession.$updateWrapData(firstRow, lastRow) -> Void + * EditSession.$updateWrapData(firstRow, lastRow) * * **/ diff --git a/lib/ace/editor.js b/lib/ace/editor.js index c76cc14a..c6e4cfef 100644 --- a/lib/ace/editor.js +++ b/lib/ace/editor.js @@ -103,7 +103,7 @@ var Editor = function(renderer, session) { oop.implement(this, EventEmitter); /** - * Editor.setKeyboardHandler(keyboardHandler) -> Void + * Editor.setKeyboardHandler(keyboardHandler) * * Sets a new keyboard handler. **/ @@ -121,7 +121,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.setSession(session) -> Void + * Editor.setSession(session) * - session (EditSession): The new session to use * * Sets a new editsession to use. This method also emits the `'changeSession'` event. @@ -244,7 +244,7 @@ var Editor = function(renderer, session) { }; /** related to: VirtualRenderer.onResize - * Editor.resize() -> Void + * Editor.resize() * * {:VirtualRenderer.onResize} **/ @@ -253,7 +253,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.setTheme(theme) -> Void + * Editor.setTheme(theme) * * {:VirtualRenderer.setTheme} **/ @@ -271,7 +271,7 @@ var Editor = function(renderer, session) { }; /** related to: VirtualRenderer.setStyle - * Editor.setStyle(style) -> Void + * Editor.setStyle(style) * * {:VirtualRenderer.setStyle} **/ @@ -280,7 +280,7 @@ var Editor = function(renderer, session) { }; /** related to: VirtualRenderer.unsetStyle - * Editor.unsetStyle(style) -> Void + * Editor.unsetStyle(style) * * {:VirtualRenderer.unsetStyle} **/ @@ -289,7 +289,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.setFontSize(size) -> Void + * Editor.setFontSize(size) * - size (Number): A font size * * Set a new font size (in pixels) for the editor text. @@ -300,7 +300,7 @@ var Editor = function(renderer, session) { }; /** internal, hide - * Editor.$highlightBrackets() -> Void + * Editor.$highlightBrackets() * **/ this.$highlightBrackets = function() { @@ -328,7 +328,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.focus() -> Void + * Editor.focus() * * Brings the current `textInput` into focus. **/ @@ -353,7 +353,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.blur() -> Void + * Editor.blur() * * Blurs the current `textInput`. **/ @@ -419,9 +419,9 @@ var Editor = function(renderer, session) { }; /** - * Editor@onScrollTopChange() -> Void - * + * Editor@onScrollTopChange() * + * Emitted when the scroll top changes. **/ this.onScrollTopChange = function() { this.renderer.scrollToY(this.session.getScrollTop()); @@ -430,7 +430,7 @@ var Editor = function(renderer, session) { /** * Editor@onScrollLeftChange() * - * + * Emitted when the scroll left changes. **/ this.onScrollLeftChange = function() { this.renderer.scrollToX(this.session.getScrollLeft()); @@ -439,7 +439,7 @@ var Editor = function(renderer, session) { /** * Editor@onCursorChange() * - * + * Emitted when the cursor changes. **/ this.onCursorChange = function() { this.renderer.updateCursor(); @@ -616,7 +616,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.insert(text) -> Void + * Editor.insert(text) * - text (String): The new text to add * * Inserts `text` into wherever the cursor is pointing. @@ -737,7 +737,7 @@ var Editor = function(renderer, session) { }; /** related to: EditSession.setOverwrite - * Editor.setOverwrite(overwrite) -> Void + * Editor.setOverwrite(overwrite) * - overwrite (Boolean): Defines wheter or not to set overwrites * * Pass in `true` to enable overwrites in your session, or `false` to disable. If overwrites is enabled, any text you enter will type over any text after it. If the value of `overwrite` changes, this function also emites the `changeOverwrite` event. @@ -757,7 +757,7 @@ var Editor = function(renderer, session) { }; /** related to: EditSession.toggleOverwrite - * Editor.toggleOverwrite() -> Void + * Editor.toggleOverwrite() * * Sets the value of overwrite to the opposite of whatever it currently is. **/ @@ -766,7 +766,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.setScrollSpeed(speed) -> Void + * Editor.setScrollSpeed(speed) * - speed (Number): A value indicating the new speed * * Sets how fast the mouse scrolling should do. @@ -786,7 +786,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.setDragDelay(dragDelay) -> Void + * Editor.setDragDelay(dragDelay) * - dragDelay (Number): A value indicating the new delay * * Sets the delay (in milliseconds) of the mouse drag. @@ -807,7 +807,7 @@ var Editor = function(renderer, session) { this.$selectionStyle = "line"; /** - * Editor.setSelectionStyle(style) -> Void + * Editor.setSelectionStyle(style) * - style (String): The new selection style * * Indicates how selections should occur. By default, selections are set to "line". This function also emits the `'changeSelectionStyle'` event. @@ -833,7 +833,7 @@ var Editor = function(renderer, session) { this.$highlightActiveLine = true; /** - * Editor.setHighlightActiveLine(shouldHighlight) -> Void + * Editor.setHighlightActiveLine(shouldHighlight) * - shouldHighlight (Boolean): Set to `true` to highlight the current line * * Determines whether or not the current line should be highlighted. @@ -857,7 +857,7 @@ var Editor = function(renderer, session) { this.$highlightSelectedWord = true; /** - * Editor.setHighlightSelectedWord(shouldHighlight) -> Void + * Editor.setHighlightSelectedWord(shouldHighlight) * - shouldHighlight (Boolean): Set to `true` to highlight the currently selected word * * Determines if the currently selected word should be highlighted. @@ -883,7 +883,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.setShowInvisibles(showInvisibles) -> Void + * Editor.setShowInvisibles(showInvisibles) * - showInvisibles (Boolean): Specifies whether or not to show invisible characters * * If `showInvisibiles` is set to `true`, invisible characters—like spaces or new lines—are show in the editor. @@ -905,7 +905,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.setShowPrintMargin(showPrintMargin) -> Void + * Editor.setShowPrintMargin(showPrintMargin) * - showPrintMargin (Boolean): Specifies whether or not to show the print margin * * If `showPrintMargin` is set to `true`, the print margin is shown in the editor. @@ -924,7 +924,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.setPrintMarginColumn(showPrintMargin) -> Void + * Editor.setPrintMarginColumn(showPrintMargin) * - showPrintMargin (Number): Specifies the new print margin * * Sets the column defining where the print margin should be. @@ -945,7 +945,7 @@ var Editor = function(renderer, session) { this.$readOnly = false; /** - * Editor.setReadOnly(readOnly) -> Void + * Editor.setReadOnly(readOnly) * - readOnly (Boolean): Specifies whether the editor can be modified or not * * If `readOnly` is true, then the editor is set to read-only mode, and none of the content can change. @@ -966,7 +966,7 @@ var Editor = function(renderer, session) { this.$modeBehaviours = true; /** - * Editor.setBehavioursEnabled() -> Void + * Editor.setBehavioursEnabled() * - enabled (Boolean): Enables or disables behaviors * * Specifies whether to use behaviors or not. ["Behaviors" in this case is the auto-pairing of special characters, like quotation marks, parenthesis, or brackets.]{: #BehaviorsDef} @@ -986,7 +986,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.setShowFoldWidgets(show) -> Void + * Editor.setShowFoldWidgets(show) * - show (Boolean): Specifies whether the fold widgets are shown * * Indicates whether the fold widgets are shown or not. @@ -1011,7 +1011,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.remove(dir) -> Void + * Editor.remove(dir) * - dir (String): The direction of the deletion to occur, either "left" or "right" * * Removes words of text from the editor. A "word" is defined as a string of characters bookended by whitespace. @@ -1039,7 +1039,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.removeWordRight() -> Void + * Editor.removeWordRight() * * Removes the word directly to the right of the current selection. **/ @@ -1052,7 +1052,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.removeWordLeft() -> Void + * Editor.removeWordLeft() * * Removes the word directly to the left of the current selection. **/ @@ -1065,7 +1065,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.removeToLineStart() -> Void + * Editor.removeToLineStart() * * Removes all the words to the left of the current selection, until the start of the line. **/ @@ -1078,7 +1078,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.removeToLineEnd() -> Void + * Editor.removeToLineEnd() * * Removes all the words to the right of the current selection, until the end of the line. **/ @@ -1097,7 +1097,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.splitLine() -> Void + * Editor.splitLine() * * Splits the line at the current selection (by inserting an `'\n'`). **/ @@ -1113,7 +1113,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.transposeLetters() -> Void + * Editor.transposeLetters() * * Transposes current line. **/ @@ -1141,7 +1141,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.toLowerCase() -> Void + * Editor.toLowerCase() * * Converts the current selection entirely into lowercase. **/ @@ -1158,7 +1158,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.toUpperCase() -> Void + * Editor.toUpperCase() * * Converts the current selection entirely into uppercase. **/ @@ -1175,7 +1175,7 @@ var Editor = function(renderer, session) { }; /** related to: EditSession.indentRows - * Editor.indent() -> Void + * Editor.indent() * * Indents the current line. **/ @@ -1203,7 +1203,7 @@ var Editor = function(renderer, session) { }; /** related to: EditSession.outdentRows - * Editor.blockOutdent() -> Void + * Editor.blockOutdent() * * Outdents the current line. **/ @@ -1213,7 +1213,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.toggleCommentLines() -> Void + * Editor.toggleCommentLines() * * Given the currently selected range, this function either comments all lines or uncomments all lines (depending on whether it's commented or not). **/ @@ -1224,7 +1224,7 @@ var Editor = function(renderer, session) { }; /** related to: EditSession.remove - * Editor.removeLines() -> Void + * Editor.removeLines() * * Removes all the lines in the current selection **/ @@ -1331,7 +1331,7 @@ var Editor = function(renderer, session) { /** - * Editor.$moveLines(mover) -> Void + * Editor.$moveLines(mover) * - mover (Function): A method to call on each selected row * * Executes a specific function, which can be anything that manipulates selected lines, such as copying them, duplicating them, or shifting them. @@ -1465,7 +1465,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.selectPageDown() -> Void + * Editor.selectPageDown() * * Selects the text from the current position of the document until where a "page down" finishes. **/ @@ -1481,7 +1481,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.selectPageUp() -> Void + * Editor.selectPageUp() * * Selects the text from the current position of the document until where a "page up" finishes. **/ @@ -1498,7 +1498,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.gotoPageDown() -> Void + * Editor.gotoPageDown() * * Shifts the document to wherever "page down" is, as well as moving the cursor position. **/ @@ -1511,7 +1511,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.gotoPageUp() -> Void + * Editor.gotoPageUp() * * Shifts the document to wherever "page up" is, as well as moving the cursor position. **/ @@ -1524,7 +1524,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.scrollPageDown() -> Void + * Editor.scrollPageDown() * * Scrolls the document to wherever "page down" is, without changing the cursor position. **/ @@ -1533,7 +1533,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.scrollPageUp() -> Void + * Editor.scrollPageUp() * * Scrolls the document to wherever "page up" is, without changing the cursor position. **/ @@ -1542,7 +1542,7 @@ var Editor = function(renderer, session) { }; /** related to: VirtualRenderer.scrollToRow - * Editor.scrollToRow(row) -> Void + * Editor.scrollToRow(row) * - row (Number): The row to move to * * Moves the editor to the specified row. @@ -1553,7 +1553,7 @@ var Editor = function(renderer, session) { }; /** related to: VirtualRenderer.scrollToLine - * Editor.scrollToLine(line, center) -> Void + * Editor.scrollToLine(line, center) * - line (Number): The line to scroll to * - center (Boolean): If `true` * @@ -1564,7 +1564,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.centerSelection() -> Void + * Editor.centerSelection() * * Attempts to center the current selection on the screen. **/ @@ -1610,7 +1610,7 @@ var Editor = function(renderer, session) { /** related to: Selection.selectAll - * Editor.selectAll() -> Void + * Editor.selectAll() * * Selects all the text in editor. **/ @@ -1621,7 +1621,7 @@ var Editor = function(renderer, session) { }; /** related to: Selection.clearSelection - * Editor.clearSelection() -> Void + * Editor.clearSelection() * * {:Selection.clearSelection} **/ @@ -1630,7 +1630,7 @@ var Editor = function(renderer, session) { }; /** related to: Selection.moveCursorTo - * Editor.moveCursorTo(row, column) -> Void + * Editor.moveCursorTo(row, column) * - row (Number): The new row number * - column (Number): The new column number * @@ -1642,7 +1642,7 @@ var Editor = function(renderer, session) { }; /** related to: Selection.moveCursorToPosition - * Editor.moveCursorToPosition(pos) -> Void + * Editor.moveCursorToPosition(pos) * - pos (Object): An object with two properties, row and column * * Moves the cursor to the position indicated by `pos.row` and `pos.column`. @@ -1653,7 +1653,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.jumpToMatching() -> Void + * Editor.jumpToMatching() * * Moves the cursor's row and column to the next matching bracket. * @@ -1677,7 +1677,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.gotoLine(lineNumber, column) -> Void + * Editor.gotoLine(lineNumber, column) * - lineNumber (Number): The line number to go to * - column (Number): A column number to go to * @@ -1696,7 +1696,7 @@ var Editor = function(renderer, session) { }; /** related to: Editor.moveCursorTo - * Editor.navigateTo(row, column) -> Void + * Editor.navigateTo(row, column) * - row (Number): The new row number * - column (Number): The new column number * @@ -1709,7 +1709,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.navigateUp(times) -> Void + * Editor.navigateUp(times) * - times (Number): The number of times to change navigation * * Moves the cursor up in the document the specified number of times. Note that this does de-select the current selection. @@ -1721,7 +1721,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.navigateDown(times) -> Void + * Editor.navigateDown(times) * - times (Number): The number of times to change navigation * * Moves the cursor down in the document the specified number of times. Note that this does de-select the current selection. @@ -1733,7 +1733,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.navigateLeft(times) -> Void + * Editor.navigateLeft(times) * - times (Number): The number of times to change navigation * * Moves the cursor left in the document the specified number of times. Note that this does de-select the current selection. @@ -1753,7 +1753,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.navigateRight(times) -> Void + * Editor.navigateRight(times) * - times (Number): The number of times to change navigation * * Moves the cursor right in the document the specified number of times. Note that this does de-select the current selection. @@ -1773,7 +1773,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.navigateLineStart() -> Void + * Editor.navigateLineStart() * * Moves the cursor to the start of the current line. Note that this does de-select the current selection. **/ @@ -1783,7 +1783,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.navigateLineEnd() -> Void + * Editor.navigateLineEnd() * * Moves the cursor to the end of the current line. Note that this does de-select the current selection. **/ @@ -1793,7 +1793,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.navigateFileEnd() -> Void + * Editor.navigateFileEnd() * * Moves the cursor to the end of the current file. Note that this does de-select the current selection. **/ @@ -1803,7 +1803,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.navigateFileStart() -> Void + * Editor.navigateFileStart() * * Moves the cursor to the start of the current file. Note that this does de-select the current selection. **/ @@ -1813,7 +1813,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.navigateWordRight() -> Void + * Editor.navigateWordRight() * * Moves the cursor to the word immediately to the right of the current position. Note that this does de-select the current selection. **/ @@ -1823,7 +1823,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.navigateWordLeft() -> Void + * Editor.navigateWordLeft() * * Moves the cursor to the word immediately to the left of the current position. Note that this does de-select the current selection. **/ @@ -1833,7 +1833,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.replace(replacement, options) -> Void + * Editor.replace(replacement, options) * - replacement (String): The text to replace with * - options (Object): The [[Search `Search`]] options to use * @@ -1860,7 +1860,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.replaceAll(replacement, options) -> Void + * Editor.replaceAll(replacement, options) * - replacement (String): The text to replace with * - options (Object): The [[Search `Search`]] options to use * @@ -1915,7 +1915,7 @@ var Editor = function(renderer, session) { }; /** related to: Search.find - * Editor.find(needle, options) -> Void + * Editor.find(needle, options) * - needle (String): The text to search for * - options (Object): An object defining various search properties * @@ -1930,7 +1930,7 @@ var Editor = function(renderer, session) { }; /** related to: Editor.find - * Editor.findNext(options) -> Void + * Editor.findNext(options) * * Performs another search for `needle` in the document. For more information on `options`, see [[Search `Search`]]. **/ @@ -1943,7 +1943,7 @@ var Editor = function(renderer, session) { }; /** related to: Editor.find - * Editor.findPrevious(options) -> Void + * Editor.findPrevious(options) * * Performs a search for `needle` backwards. For more information on `options`, see [[Search `Search`]]. **/ @@ -1986,7 +1986,7 @@ var Editor = function(renderer, session) { }; /** related to: UndoManager.undo - * Editor.undo() -> Void + * Editor.undo() * * {:UndoManager.undo} **/ @@ -1995,7 +1995,7 @@ var Editor = function(renderer, session) { }; /** related to: UndoManager.redo - * Editor.redo() -> Void + * Editor.redo() * * {:UndoManager.redo} **/ @@ -2004,7 +2004,7 @@ var Editor = function(renderer, session) { }; /** - * Editor.destroy() -> Void + * Editor.destroy() * * Cleans up the entire editor. **/ diff --git a/lib/ace/multi_select.js b/lib/ace/multi_select.js index 28059ad6..c736ad79 100644 --- a/lib/ace/multi_select.js +++ b/lib/ace/multi_select.js @@ -72,7 +72,7 @@ var EditSession = require("./edit_session").EditSession; this.rangeList = null; /** - * Selection.addRange(range, $blockChangeEvents) -> Void + * Selection.addRange(range, $blockChangeEvents) * - range (Range): The new range to add * - $blockChangeEvents (Boolean): Whether or not to block changing events * @@ -135,7 +135,7 @@ var EditSession = require("./edit_session").EditSession; }; /** - * Selection.mergeOverlappingRanges() -> Void + * Selection.mergeOverlappingRanges() * * merges overlapping ranges ensuring consistency after changes **/ @@ -289,7 +289,7 @@ var EditSession = require("./edit_session").EditSession; var Editor = require("./editor").Editor; (function() { /** - * Editor.updateSelectionMarkers() -> Void + * Editor.updateSelectionMarkers() * * updates cursor and marker layers **/ @@ -317,7 +317,7 @@ var Editor = require("./editor").Editor; }; /** - * Editor.removeSelectionMarker(range) -> Void + * Editor.removeSelectionMarker(range) * - range (Range): The selection range added with [[Editor.addSelectionMarker `addSelectionMarker()`]]. * * Removes the selection marker. @@ -403,7 +403,7 @@ var Editor = require("./editor").Editor; }; /** - * Editor.forEachSelection(cmd, args) -> Void + * Editor.forEachSelection(cmd, args) * - cmd (String): The command to execute * - args (String): Any arguments for the command * @@ -440,7 +440,7 @@ var Editor = require("./editor").Editor; }; /** - * Editor.exitMultiSelectMode() -> Void + * Editor.exitMultiSelectMode() * * removes all selections except the last added one. **/ @@ -504,7 +504,7 @@ var Editor = require("./editor").Editor; // commands /** - * Editor.selectMoreLines(dir, skip) -> Void + * Editor.selectMoreLines(dir, skip) * - dir (Number): The direction of lines to select: -1 for up, 1 for down * - skip (Boolean): If `true`, removes the active selection range * @@ -549,7 +549,7 @@ var Editor = require("./editor").Editor; }; /** - * Editor.transposeSelections(dir) -> Void + * Editor.transposeSelections(dir) * - dir (Number): The direction to rotate selections * * Transposes the selected ranges. @@ -593,7 +593,7 @@ var Editor = require("./editor").Editor; } /** - * Editor.selectMore(dir, skip) -> Void + * Editor.selectMore(dir, skip) * - dir (Number): The direction of lines to select: -1 for up, 1 for down * - skip (Boolean): If `true`, removes the active selection range * @@ -665,7 +665,7 @@ exports.onSessionChange = function(e) { }; /** - * MultiSelect(editor) -> Void + * MultiSelect(editor) * * adds multiple selection support to the editor * (note: should be called only once for each editor instance) diff --git a/lib/ace/placeholder.js b/lib/ace/placeholder.js index bd8f99ec..8af180ed 100644 --- a/lib/ace/placeholder.js +++ b/lib/ace/placeholder.js @@ -92,7 +92,7 @@ var PlaceHolder = function(session, length, pos, others, mainClass, othersClass) oop.implement(this, EventEmitter); /** - * PlaceHolder.setup() -> Void + * PlaceHolder.setup() * * TODO * @@ -118,7 +118,7 @@ var PlaceHolder = function(session, length, pos, others, mainClass, othersClass) }; /** - * PlaceHolder.showOtherMarkers() -> Void + * PlaceHolder.showOtherMarkers() * * TODO * @@ -138,7 +138,7 @@ var PlaceHolder = function(session, length, pos, others, mainClass, othersClass) }; /** - * PlaceHolder.hideOtherMarkers() -> Void + * PlaceHolder.hideOtherMarkers() * * Hides all over markers in the [[EditSession `EditSession`]] that are not the currently selected one. * diff --git a/lib/ace/range.js b/lib/ace/range.js index 9d823180..cebbf5d3 100644 --- a/lib/ace/range.js +++ b/lib/ace/range.js @@ -232,7 +232,7 @@ var Range = function(startRow, startColumn, endRow, endColumn) { } /** - * Range.setStart(row, column) -> Void + * Range.setStart(row, column) * - row (Number): A row point to set * - column (Number): A column point to set * @@ -250,7 +250,7 @@ var Range = function(startRow, startColumn, endRow, endColumn) { } /** - * Range.setEnd(row, column) -> Void + * Range.setEnd(row, column) * - row (Number): A row point to set * - column (Number): A column point to set * diff --git a/lib/ace/renderloop.js b/lib/ace/renderloop.js index 2807ca61..71bcfd77 100644 --- a/lib/ace/renderloop.js +++ b/lib/ace/renderloop.js @@ -64,7 +64,7 @@ var RenderLoop = function(onRender, win) { (function() { /** internal, hide - * RenderLoop.schedule(change) -> Void + * RenderLoop.schedule(change) * - change (Array): * * diff --git a/lib/ace/scrollbar.js b/lib/ace/scrollbar.js index 15407f17..66d9e214 100644 --- a/lib/ace/scrollbar.js +++ b/lib/ace/scrollbar.js @@ -102,7 +102,7 @@ var ScrollBar = function(parent) { }; /** - * ScrollBar.setHeight(height) -> Void + * ScrollBar.setHeight(height) * - height (Number): The new height * * Sets the height of the scroll bar, in pixels. @@ -113,7 +113,7 @@ var ScrollBar = function(parent) { }; /** - * ScrollBar.setInnerHeight(height) -> Void + * ScrollBar.setInnerHeight(height) * - height (Number): The new inner height * * Sets the inner height of the scroll bar, in pixels. @@ -124,7 +124,7 @@ var ScrollBar = function(parent) { }; /** - * ScrollBar.setScrollTop(scrollTop) -> Void + * ScrollBar.setScrollTop(scrollTop) * - scrollTop (Number): The new scroll top * * Sets the scroll top of the scroll bar. diff --git a/lib/ace/selection.js b/lib/ace/selection.js index d7670d55..2f85228d 100644 --- a/lib/ace/selection.js +++ b/lib/ace/selection.js @@ -121,7 +121,7 @@ var Selection = function(session) { }; /** - * Selection.setSelectionAnchor(row, column) -> Void + * Selection.setSelectionAnchor(row, column) * - row (Number): The new row * - column (Number): The new column * @@ -159,7 +159,7 @@ var Selection = function(session) { }; /** - * Selection.shiftSelection(columns) -> Void + * Selection.shiftSelection(columns) * - columns (Number): The number of columns to shift by * * Shifts the selection up (or down, if [[Selection.isBackwards `isBackwards()`]] is true) the given number of columns. @@ -218,7 +218,7 @@ var Selection = function(session) { }; /** - * Selection.clearSelection() -> Void + * Selection.clearSelection() * * [Empties the selection (by de-selecting it). This function also emits the `'changeSelection'` event.]{: #Selection.clearSelection} **/ @@ -230,7 +230,7 @@ var Selection = function(session) { }; /** - * Selection.selectAll() -> Void + * Selection.selectAll() * * Selects all the text in the document. **/ @@ -241,7 +241,7 @@ var Selection = function(session) { }; /** - * Selection.setSelectionRange(range, reverse) -> Void + * Selection.setSelectionRange(range, reverse) * - range (Range): The range of text to select * - reverse (Boolean): Indicates if the range should go backwards (`true`) or not * @@ -268,7 +268,7 @@ var Selection = function(session) { }; /** - * Selection.selectTo(row, column) -> Void + * Selection.selectTo(row, column) * - row (Number): The row to select to * - column (Number): The column to select to * @@ -282,7 +282,7 @@ var Selection = function(session) { }; /** - * Selection.selectToPosition(pos) -> Void + * Selection.selectToPosition(pos) * - pos (Object): An object containing the row and column * * Moves the selection cursor to the row and column indicated by `pos`. @@ -295,7 +295,7 @@ var Selection = function(session) { }; /** - * Selection.selectUp() -> Void + * Selection.selectUp() * * Moves the selection up one row. **/ @@ -304,7 +304,7 @@ var Selection = function(session) { }; /** - * Selection.selectDown() -> Void + * Selection.selectDown() * * Moves the selection down one row. **/ @@ -313,7 +313,7 @@ var Selection = function(session) { }; /** - * Selection.selectRight() -> Void + * Selection.selectRight() * * Moves the selection right one column. **/ @@ -322,7 +322,7 @@ var Selection = function(session) { }; /** - * Selection.selectLeft() -> Void + * Selection.selectLeft() * * Moves the selection left one column. **/ @@ -331,7 +331,7 @@ var Selection = function(session) { }; /** - * Selection.selectLineStart() -> Void + * Selection.selectLineStart() * * Moves the selection to the beginning of the current line. **/ @@ -340,7 +340,7 @@ var Selection = function(session) { }; /** - * Selection.selectLineEnd() -> Void + * Selection.selectLineEnd() * * Moves the selection to the end of the current line. **/ @@ -349,7 +349,7 @@ var Selection = function(session) { }; /** - * Selection.selectFileEnd() -> Void + * Selection.selectFileEnd() * * Moves the selection to the end of the file. **/ @@ -358,7 +358,7 @@ var Selection = function(session) { }; /** - * Selection.selectFileStart() -> Void + * Selection.selectFileStart() * * Moves the selection to the start of the file. **/ @@ -367,7 +367,7 @@ var Selection = function(session) { }; /** - * Selection.selectWordRight() -> Void + * Selection.selectWordRight() * * Moves the selection to the first word on the right. **/ @@ -376,7 +376,7 @@ var Selection = function(session) { }; /** - * Selection.selectWordLeft() -> Void + * Selection.selectWordLeft() * * Moves the selection to the first word on the left. **/ @@ -385,7 +385,7 @@ var Selection = function(session) { }; /** related to: EditSession.getWordRange - * Selection.selectWord() -> Void + * Selection.selectWord() * * Moves the selection to highlight the entire word. **/ @@ -396,7 +396,7 @@ var Selection = function(session) { }; /** related to: EditSession.getAWordRange - * Selection.selectAWord() -> Void + * Selection.selectAWord() * * Selects a word, including its right whitespace. **/ @@ -407,7 +407,7 @@ var Selection = function(session) { }; /** - * Selection.selectLine() -> Void + * Selection.selectLine() * * Selects the entire line. **/ @@ -429,7 +429,7 @@ var Selection = function(session) { }; /** - * Selection.moveCursorUp() -> Void + * Selection.moveCursorUp() * * Moves the cursor up one row. **/ @@ -438,7 +438,7 @@ var Selection = function(session) { }; /** - * Selection.moveCursorDown() -> Void + * Selection.moveCursorDown() * * Moves the cursor down one row. **/ @@ -447,7 +447,7 @@ var Selection = function(session) { }; /** - * Selection.moveCursorLeft() -> Void + * Selection.moveCursorLeft() * * Moves the cursor left one column. **/ @@ -473,7 +473,7 @@ var Selection = function(session) { }; /** - * Selection.moveCursorRight() -> Void + * Selection.moveCursorRight() * * Moves the cursor right one column. **/ @@ -499,7 +499,7 @@ var Selection = function(session) { }; /** - * Selection.moveCursorLineStart() -> Void + * Selection.moveCursorLineStart() * * Moves the cursor to the start of the line. **/ @@ -532,7 +532,7 @@ var Selection = function(session) { }; /** - * Selection.moveCursorLineEnd() -> Void + * Selection.moveCursorLineEnd() * * Moves the cursor to the end of the line. **/ @@ -547,7 +547,7 @@ var Selection = function(session) { }; /** - * Selection.moveCursorFileEnd() -> Void + * Selection.moveCursorFileEnd() * * Moves the cursor to the end of the file. **/ @@ -558,7 +558,7 @@ var Selection = function(session) { }; /** - * Selection.moveCursorFileStart() -> Void + * Selection.moveCursorFileStart() * * Moves the cursor to the start of the file. **/ @@ -567,7 +567,7 @@ var Selection = function(session) { }; /** - * Selection.moveCursorWordRight() -> Void + * Selection.moveCursorWordRight() * * Moves the cursor to the word on the right. **/ @@ -614,7 +614,7 @@ var Selection = function(session) { }; /** - * Selection.moveCursorWordLeft() -> Void + * Selection.moveCursorWordLeft() * * Moves the cursor to the word on the left. **/ @@ -665,7 +665,7 @@ var Selection = function(session) { }; /** related to: EditSession.documentToScreenPosition - * Selection.moveCursorBy(rows, chars) -> Void + * Selection.moveCursorBy(rows, chars) * - rows (Number): The number of rows to move by * - chars (Number): The number of characters to move by * @@ -691,7 +691,7 @@ var Selection = function(session) { }; /** - * Selection.moveCursorToPosition(position) -> Void + * Selection.moveCursorToPosition(position) * - position (Object): The position to move to * * Moves the selection to the position indicated by its `row` and `column`. @@ -701,7 +701,7 @@ var Selection = function(session) { }; /** - * Selection.moveCursorTo(row, column, keepDesiredColumn) -> Void + * Selection.moveCursorTo(row, column, keepDesiredColumn) * - row (Number): The row to move to * - column (Number): The column to move to * - keepDesiredColumn (Boolean): [If `true`, the cursor move does not respect the previous column]{: #preventUpdateBool} @@ -725,7 +725,7 @@ var Selection = function(session) { }; /** - * Selection.moveCursorToScreen(row, column, keepDesiredColumn) -> Void + * Selection.moveCursorToScreen(row, column, keepDesiredColumn) * - row (Number): The row to move to * - column (Number): The column to move to * - keepDesiredColumn (Boolean): {:preventUpdateBool}