Commit Graph

108 Commits

Author SHA1 Message Date
Thomas Aylott 60bf481bf5 Added special-comments-conditional-compilation for IE; Added leading-space scopes 2008-07-08 16:55:46 -04:00
Thomas Aylott 8f08e77bdd Snippet: try … catch 2008-07-08 16:54:39 -04:00
Thomas Aylott 3441b11cc2 Fixed the illegal number scopes 2008-07-07 13:16:07 -04:00
Thomas Aylott 7d3632c085 .999 numbers.invalid scopes for octal and hex. -999 and +999 numbers 2008-07-07 13:07:57 -04:00
Thomas Aylott dad2829a89 Reorganize the JavaScript Basic syntax. Moved everything into the repository. 2008-07-07 12:11:41 -04:00
subtlegradient 3e3082b4d4 New document. snippet, because you end up typing that a billion times
git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@10174 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2008-07-07 12:11:41 -04:00
subtlegradient 9befbaa4c5 Attempting to unify the style of the various snippets. The idea is that if it's fewer characters to add something than to remove it, then it gets removed from the snippet.
git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@10173 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2008-07-07 12:11:41 -04:00
subtlegradient ec99bb4c5c Removed the anonymous function from the timeout snippet. You can easily add your own with the f snippet
git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@10172 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2008-07-07 12:11:41 -04:00
subtlegradient 7a68cfb531 Degault the Get Elements snippet to getElementById instead of getElementsByTagName
git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@10171 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2008-07-07 12:11:41 -04:00
subtlegradient c18a767790 Improved String Literal syntax. Fixed the "bug" where an unclosed string extends past the closign script tag in html.
String should end on \n with a syntax error
String should end on </script>\n with a syntax error
String should mark </script> as invalid

git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@10170 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2008-07-07 12:11:41 -04:00
subtlegradient a8b22dbdda More and more syntax tests
git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@10169 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2008-07-07 12:11:41 -04:00
Thomas Aylott 1899a8afde Internet Explorer Conditional Comment snippets 2008-07-02 13:00:07 -04:00
Thomas Aylott 3c2791d816 Removed redundant group scope 2008-07-02 12:57:58 -04:00
Thomas Aylott 205fd81c21 More syntax tests 2008-07-02 12:57:25 -04:00
Joseph Pecoraro 73900868d5 Scientific notation => Ex, 1e5 and 2.5E5
from Joseph Pecoraro
2008-07-02 12:52:49 -04:00
Thomas Aylott 6fa933fc13 Don't require a space after the function keyword
Merging in a modified version of Joseph Pecoraro's fix here: http://pastie.textmate.org/private/hxkpy8qkahofrxwyvp4coq
2008-07-02 12:42:58 -04:00
Joseph Pecoraro 0bdaea84f6 Merging in the regex fixes from Joseph Pecoraro as seen here: http://lists.macromates.com/textmate/2008-June/025973.html 2008-07-02 12:36:52 -04:00
Thomas Aylott b33bf433e4 Some syntax tests 2008-07-02 12:19:40 -04:00
Thomas Aylott ee10b85ff5 Impriving regexp literals 2008-07-02 12:17:34 -04:00
Thomas Aylott f355cab4ce Undefined -> undefined 2008-07-02 11:47:48 -04:00
Thomas Aylott 2be7a89002 Improved meta.function.json.js with punctuation and proper storage.type 2008-07-02 11:44:06 -04:00
Thomas Aylott 16eb9fd504 Added a tests folder with some starter files 2008-07-02 11:04:44 -04:00
Thomas Aylott 7e0e08cd6a Unifying the "for" snippets
diff --git "a/Snippets/for (in) {\342\200\246}.tmSnippet" "b/Snippets/for (in) {\342\200\246}.tmSnippet"
index d7e0848..b64dede 100644
--- "a/Snippets/for (in) {\342\200\246}.tmSnippet"
+++ "b/Snippets/for (in) {\342\200\246}.tmSnippet"
@@ -3,8 +3,8 @@
 <plist version="1.0">
 <dict>
 	<key>content</key>
-	<string>for (var ${1:x} in ${2:Things}) {
-	${0:${1:x}}
+	<string>for (var ${1:thing} in ${2:Things}) {
+	$0${1:thing}
 };</string>
 	<key>name</key>
 	<string>for (in) {…}</string>
diff --git "a/Snippets/for (\342\200\246) {\342\200\246} (PPK).tmSnippet" "b/Snippets/for (\342\200\246) {\342\200\246} (PPK).tmSnippet"
index b34c0f5..9408455 100644
--- "a/Snippets/for (\342\200\246) {\342\200\246} (PPK).tmSnippet"
+++ "b/Snippets/for (\342\200\246) {\342\200\246} (PPK).tmSnippet"
@@ -4,7 +4,7 @@
 <dict>
 	<key>content</key>
 	<string>for (var ${20:i}=0,${2:thing}; ${2:thing}=${1:Things}[${20:i}]; ${20:i}++){
-	${2:thing}$0
+	$0${2:thing}
 };
 </string>
 	<key>name</key>
diff --git "a/Snippets/for (\342\200\246) {\342\200\246} (faster).tmSnippet" "b/Snippets/for (\342\200\246) {\342\200\246} (faster).tmSnippet"
index 34e6b71..2853eb2 100644
--- "a/Snippets/for (\342\200\246) {\342\200\246} (faster).tmSnippet"
+++ "b/Snippets/for (\342\200\246) {\342\200\246} (faster).tmSnippet"
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
 	<key>content</key>
 	<string>for (var ${20:i} = ${1:Things}.length - 1; ${20:i} &gt;= 0; ${20:i}--){
-	${100:${1:Things}[${20:i}]}$0
+	$0${100:${1:Things}[${20:i}]}
 };</string>
 	<key>name</key>
 	<string>for (…) {…} (Improved Native For-Loop)</string>
diff --git "a/Snippets/for (\342\200\246) {\342\200\246}.tmSnippet" "b/Snippets/for (\342\200\246) {\342\200\246}.tmSnippet"
index 6208a16..852d3f5 100644
--- "a/Snippets/for (\342\200\246) {\342\200\246}.tmSnippet"
+++ "b/Snippets/for (\342\200\246) {\342\200\246}.tmSnippet"
@@ -4,7 +4,7 @@
 <dict>
 	<key>content</key>
 	<string>for (var ${20:i}=0; ${20:i} &lt; ${1:Things}.length; ${20:i}++) {
-	${100:${1:Things}[${20:i}]}$0
+	$0${100:${1:Things}[${20:i}]}
 };</string>
 	<key>name</key>
 	<string>for (…) {…}</string>
2008-07-02 11:04:01 -04:00
subtlegradient b84367b126 Fixed regression with nested groups and functions
git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@9131 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2008-03-16 06:35:43 +00:00
subtlegradient bb8deef61d Tweaking regex for optimization and performance. disabling "punctuation.section.scope.round" seems to have helped.
git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@9130 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2008-03-16 06:16:45 +00:00
subtlegradient 7a80c6d2ab Fixed snippet. I'd accidentally sent a half-finished version :'(
git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@9129 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2008-03-16 06:14:13 +00:00
subtlegradient 151f7a83eb Don't match a single slash (/) as a regex literal unless there's another one on the same line. Force Regex literals to end at the end of the line. This helps solve some performance issues while coding. Thanks Daniel Stockman
git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@9128 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2008-03-16 03:24:13 +00:00
subtlegradient d72e54c64d Fixed the parsing of object values that are regular expression literal. Thanks Daniel Stockman
git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@9126 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2008-03-16 02:38:15 +00:00
subtlegradient bc39c3bdca Cleaned up "for in" snippets and added a new ultra-fast one from quirksmode.
git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@9114 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2008-03-14 18:31:48 +00:00
subtlegradient b6f84d2641 New "for (in){…}" snippet
git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@8634 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2007-12-09 08:20:27 +00:00
subtlegradient 1f347c3df7 Cleaned up snippets
git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@8633 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2007-12-09 08:19:31 +00:00
subtlegradient f6ff90bedc Split out object-properties into the repository to keep things clean
git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@8632 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2007-12-09 08:19:12 +00:00
subtlegradient f577ae87e4 Renamed "Javascript Basic" to "Javascript Embedded" Thanks Infin.
New scope: meta.complete.method for the first character of white space after a dot.

git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@8631 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2007-12-09 08:18:54 +00:00
subtlegradient 581d5ad997 Changes scopes. source.js => source.js.base, source.js.basic => source.js
Include source.js.basic if you want embedded javascript in your language.
Include source.js.base if you want to extend javascript, EG: MooTools

git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@8614 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2007-12-05 21:22:56 +00:00
subtlegradient 97c40c67f1 Merged changes from stable
git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@8601 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2007-12-05 19:41:09 +00:00
subtlegradient 5335a0d676 Copying JavaScript to review
git-svn-id: http://macromates.com/svn/Bundles/trunk/Review/Bundles/JavaScript.tmbundle@8600 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2007-12-05 18:44:38 +00:00
duff 093215cd0b • match regexps that follow a ‘return’ keyword, example:
return /^[a-zA-Z]([a-zA-Z0-9+-.])*:/.test(s);



git-svn-id: http://macromates.com/svn/Bundles/trunk/Bundles/JavaScript.tmbundle@7067 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2007-04-26 23:15:46 +00:00
duff c9ca65bb80 • add jsx as a recognized file type, apparently what Photoshop CS2 and CS3 uses for JavaScript
git-svn-id: http://macromates.com/svn/Bundles/trunk/Bundles/JavaScript.tmbundle@7017 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2007-04-19 22:02:41 +00:00
duff 29989a44d7 • change several patterns of the form: [A-Za-z…]+\w* into [A-Za-z…][\w…]* — I am thinking though, that ‘…’ should not be allowed for anything but the first character
• change a pattern of the fork: \w+ \.? \w* into \w+ (\. \w*)?

Both of the above would previously result in potential really bad performance, because two greedy repeats basically matching the same thing, was after each other, and that leads to exponential time complexity in input size.


git-svn-id: http://macromates.com/svn/Bundles/trunk/Bundles/JavaScript.tmbundle@6859 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2007-03-20 11:51:44 +00:00
duff d01c07ff38 • handle com.some.namespace.Function = test() { } — ticket 2629590E
git-svn-id: http://macromates.com/svn/Bundles/trunk/Bundles/JavaScript.tmbundle@6787 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2007-03-12 14:44:56 +00:00
duff f405e6a31e • make /* … */ work again (for uncommenting) — ticket A2F2DDD2
git-svn-id: http://macromates.com/svn/Bundles/trunk/Bundles/JavaScript.tmbundle@6761 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2007-03-09 20:03:31 +00:00
duff 596c674019 Add the following keys to the bundle’s info.plist:
contactName:
   The full name of the contact for this bundle.
contactEmailRot13:
   A ROT13 encoded email address for the bundle contact (we obfuscate it to avoid spammers from picking up the files, seeing how bundles will often be available via anonymous svn over http).
description:
   A short description for this bundle. Do link to more info about the language (or whatever) the bundle is about. I decided on using HTML for this (but leave out the initial paragraph tag) since it seemed like overkill to run a single line of text through Markdown.pl, just to convert [foo](link) into <a href="link">foo</a>

Many of the current descriptions could use some improvements, I just wanted to get the ball rolling :)


git-svn-id: http://macromates.com/svn/Bundles/trunk/Bundles/JavaScript.tmbundle@6718 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2007-03-04 20:11:31 +00:00
subtlegradient 0539e44989 Removed old bas scope
Set ⌥⇧: as the shortcut for object keys
Set the trigger for "for faster" to "for" to get the menu

git-svn-id: http://macromates.com/svn/Bundles/trunk/Bundles/JavaScript.tmbundle@6595 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2007-02-15 04:34:38 +00:00
duff 9ec26daccc • recognize documentation comments (/** … */) — patch from Dave Grijalva
git-svn-id: http://macromates.com/svn/Bundles/trunk/Bundles/JavaScript.tmbundle@6575 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2007-02-13 04:48:32 +00:00
subtlegradient dcb51d605c Fixed bad copy/paste. It was an em-dash not a -- :/
git-svn-id: http://macromates.com/svn/Bundles/trunk/Bundles/JavaScript.tmbundle@6542 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2007-02-09 15:37:15 +00:00
subtlegradient 8918fc0380 Added the "Improved Native For-Loop" snippet from http://solutoire.com/2007/02/02/efficient-looping-in-javascript/
git-svn-id: http://macromates.com/svn/Bundles/trunk/Bundles/JavaScript.tmbundle@6518 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2007-02-03 07:52:40 +00:00
subtlegradient 494487abe6 Fix for javascript "fred = (whatever)" being considered a function
git-svn-id: http://macromates.com/svn/Bundles/trunk/Bundles/JavaScript.tmbundle@6341 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2006-12-12 21:11:31 +00:00
subtlegradient f7e26af2b9 http://pastie.textmate.org/24618
Javascript commenting should use // method like with PHP, not /* ... */
Now it does. Yay comments!

git-svn-id: http://macromates.com/svn/Bundles/trunk/Bundles/JavaScript.tmbundle@6258 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2006-11-28 05:53:13 +00:00
subtlegradient 1d19d9c169 Remove the rule that incorrectly turns anything with a dot before an = into a class. this grammar still needs some serious work imho.
git-svn-id: http://macromates.com/svn/Bundles/trunk/Bundles/JavaScript.tmbundle@6257 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2006-11-28 03:07:25 +00:00
msheets 82f10d6ae3 Include the delimiters in the string.quoted.single scope rather than just the content.
git-svn-id: http://macromates.com/svn/Bundles/trunk/Bundles/JavaScript.tmbundle@5998 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
2006-11-07 22:05:57 +00:00