[SVN] r11790 (ActionScript 3)

Simon Gregory simon at helvector.org
Wed Oct 21 11:45:04 UTC 2009


• Patching the past few months development over from github (as git-svn failed).

Overview:

Bundle Env Changes - Changes to the way we source ruby includes to try and avoid repeatedly requiring items we don't use. Also includes renaming of some classes to try and make their purpose clearer. Moved some inline scripts to the bundles bin directory to avoid problems when sourcing requires where the user has customised their bundle.

Flex SDK - We now search for the SDK on the users PATH as well as the list of predetermined locations.

Build Changes - Introduced a settings class to encapsulate project settings. Where explicit settings are missing this takes educated guesses as to what input and output should be based off the first ActionScript or MXML file it finds within common source directories. Encapsulated FCSH build command within it's own class. Build command no longer discards output (if you use FCSH then you may want to set it to do this).

Additional thanks to Iconara and Specialunderwear.

Individual git commits:

commit 62c21a9bf28b87664614392fa0664d3681c144a1
Author: Simon Gregory
Date:   Thu Aug 27 15:02:38 2009 +0100

    • Prefs updated to recognise Flex SDK 3.4.0 and fixing a problem with the fcsh compiler.

commit 02e6a9fcb112e9563c48e91fdff9d37f1e4752c0
Author: Simon Gregory
Date:   Thu Aug 27 10:10:29 2009 +0100

    • Refactored build, run and associated compilers.

    Both fcsh and mxmlc now have associated compiler classes and use an instance of settings when determining what to compile. Where possible we take some educated guesses to work out what TM_FLEX_FILE_SPECS and TM_FLEX_OUTPUT should be - based off the first file we find in the project root or src directory.

commit 212b8968f2826a47c0d270ca55f29c75e7e6aeb5
Author: Simon Gregory
Date:   Thu Aug 27 08:34:16 2009 +0100

    • When checking for setting the basepath parameter is now optional. Updated comments in settings.

commit 1955e2943873dde11f2a4c381807d2da9ea4b99e
Author: Simon Gregory
Date:   Wed Aug 26 09:47:27 2009 +0100

    • Removed seperator from menu.

commit 9d7773d306c9f127425adc0f34d9b25eb3b723fb
Author: Simon Gregory
Date:   Wed Aug 26 09:45:16 2009 +0100

    • Added tests.

commit 8b03af7be6aaa2fd0bb5b02593ead74fc2864665
Author: Simon Gregory
Date:   Wed Aug 26 09:32:33 2009 +0100

    • Mxmlc exhaust now has tests and now only returns output (rather than printing it).

    If printing is required set print_output to true.

commit 105845fbd160f201a85485cfef7eb56ccda16b87
Author: Simon Gregory
Date:   Tue Aug 18 18:43:49 2009 +0100

    • Tab stops are now generated for the asdoc command.

    This is a manual merge based on work done by specialunderwear.

commit 5d2a5ce8a68bc781988f593c4b5f0507a7de3e4c
Author: Simon Gregory
Date:   Tue Aug 18 18:08:41 2009 +0100

    • Formatting tweaks to the with and include snippets to bring them in line with conventions.

commit 731d4406c1a1207e69a464cd1c063a81038ed561
Author: Lars van de Kerkhof <>
Date:   Mon Aug 17 22:36:36 2009 +0200

    • Fixed typo in include snippet.

commit 82a60c76d1e0d982b4bd6dd782129dd8c2de7fb6
Author: Lars van de Kerkhof <>
Date:   Mon Aug 17 22:28:01 2009 +0200

    • Added 'with' snippet.

commit 587efab093e1a3154b1600e0fd91501aa2d6fe0d
Author: Simon Gregory
Date:   Tue Aug 18 09:53:31 2009 +0100

    • Added utility methods for accessing properties of the default namespace.

commit 7a8a40a8b4d013c5b638cf2e7774eb727bdded5b
Author: Simon Gregory
Date:   Tue Aug 18 09:45:03 2009 +0100

    • Return an empty array rather than nil if no classes are found in the requested package.

commit 03bce4a70c94c96862368dff374cb6a8b199a4e7
Author: Simon Gregory
Date:   Fri Aug 14 09:14:16 2009 +0100

    • Fixed test case.

commit beac2ca838b761291e9dcdc12646776b46dc27a2
Author: Simon Gregory
Date:   Fri Aug 14 08:29:29 2009 +0100

    • Deleting unused variable.

commit 440f4a13fa2d945bc8ae8bf6b2ae3ef764541d95
Author: Simon Gregory
Date:   Tue Aug 11 10:10:53 2009 +0100

    • Fixing a case where the project directory isn't available in the compiler.
    • Plus a minor tweak to the comments in the MXML class.

commit a54c8e21c4eb3a37fae5a4708c68f721d43b011e
Author: Simon Gregory
Date:   Thu Aug 13 08:22:12 2009 +0100

    • Added the ability to return a list of classes associated with a namespace.

commit 18ed3c6bfcd1f0c3b08f4dce6e049ef0d45792ab
Author: Simon Gregory
Date:   Thu Aug 13 08:15:25 2009 +0100

    • Improved parsing of manifest files.

    We now strip comments before parsing, and accomodate for single and double quoted strings. Additional tests have also been included.

commit 86c4afa32ea0f3116faa63f297bf160f8d074e49
Author: Simon Gregory
Date:   Wed Aug 12 21:14:53 2009 +0100

    • Can now list all classes found within a specified package.

commit 1e6290e2509191c91c80a47de24ba04469b0467e
Author: Simon Gregory
Date:   Wed Aug 12 21:13:22 2009 +0100

    • Moving require of TM html output.

    So it's available when the user hasn't got the appropriate settings available to compile.

commit 0880f22477de0114fcf8c380c3726f6af0074c51
Author: Simon Gregory
Date:   Wed Aug 12 21:10:40 2009 +0100

    • Added support for listing namespaces with the mxml doc.

commit 13e505503815d640e286aa246379aedf3ddc402e
Author: Simon Gregory
Date:   Wed Aug 12 21:09:40 2009 +0100

    • Added comments to clarify where this class is used.

commit 4c942235600eca4215dc82de8628a6b5f53baa14
Author: Simon Gregory
Date:   Mon Aug 10 18:10:14 2009 +0100

    • Manifest class can now return a list of available classes.

commit 358877af08d310f7c8f323d2c3ab5d29f2b0390b
Author: Simon Gregory
Date:   Mon Jul 27 13:26:11 2009 +0100

    • Updated help.

    Describing new setting that are available with the build process.

    Created bundle maintainer section and alphabetically listed contributors.

commit e20440e28001f9bc5cc41ff7a36b822f118607b5
Author: Simon Gregory
Date:   Fri Jul 24 22:16:34 2009 +0100

    • Added support for functions in autocomplete imports - patch from Iconara (Theo Hultberg).

    By modifying search_bundle_paths to find paths matching
    path/to/package.html#functionName() functions like flash.utils.describeType,
    getTimer and setTimeout can now be added to doc_dictionary.xml so that the
    autocomplete imports command will find them.

commit 43c3b7964dcedfd253eda15bbeaa26949d4250c5
Author: Simon Gregory
Date:   Fri Jul 24 18:02:06 2009 +0100

    • Correct error in previous revision where flex file specs was accidentally being translated.

commit 602a4f80f175b143368f767f4f3c8c67a85f36b8
Author: Simon Gregory
Date:   Fri Jul 24 17:18:57 2009 +0100

    • Improving property chain capture.

    We now stop when hitting a square bracket.

commit 4e9f636d938ca2619aae3687f694260d93160f82
Author: Simon Gregory
Date:   Fri Jul 24 14:33:01 2009 +0100

    • Initial support for dropping TM_FLEX_OUTPUT in a bin directory if one exists in the project root.

commit c0d70ca4437e9d6bacee4a95ab579c38bac0e9cf
Author: Simon Gregory
Date:   Fri Jul 24 14:21:47 2009 +0100

    • MXML exhaust parser now recognises and reports if it receives no input.

commit 45f6f3b65ff9ff790fdbabc3327a414d61316809
Author: Simon Gregory
Date:   Fri Jul 24 14:20:23 2009 +0100

    • Trimming the name of the 'Add Import' command down to 'Import'

commit 5a4ac283f351d24c0afdc60d5bd46ac27d1ace86
Author: Simon Gregory
Date:   Tue Jul 21 23:09:54 2009 +0100

    • FCSH must now be specifically requested by setting TM_FLEX_USE_FCSH
    • Where TM_FLEX_FILE_SPECS are missing we attempt to guess what they might be (the first as or mxml file found in the project root or src directory).

commit e51da4ac515fa35c26894815a66a2d3ed745e672
Author: Simon Gregory
Date:   Tue Jul 21 23:03:42 2009 +0100

    • Where the compiler is 'guessing' TM_FLEX_FILE_SPECS it will now return the first class it finds.

    Previously it would return nil, and TM_FILEPATH was used.

commit ca61d935c62d89e5f52c4d47c9c9a7c31fc4cdc5
Author: Simon Gregory
Date:   Tue Jul 21 23:01:38 2009 +0100

    • Now catch and properly forward exit calls.

    Previously these would have been caught and output as errors.

commit 28e2e73482e59f9149f2eef4cc94e88d9d32e5c0
Author: Simon Gregory
Date:   Tue Jul 21 14:52:58 2009 +0100

    • Using rescue around the autocompletion script for debugging clashes with TextMate.exit_ etc, this change avoids that conflict.

    Ideally needs to be handled in a more granular manner (so specific exit requests are identified and let through).

commit 1f52891310ed5e1d16bd7e412e845df99b34fda0
Author: Simon Gregory
Date:   Tue Jul 21 12:59:41 2009 +0100

    • Updated list of SDK's.

commit 31b5eae896c98571facd67eea08a2ffdd3a51c58
Author: Simon Gregory
Date:   Tue Jul 21 12:57:20 2009 +0100

    • Added Springseed and PureMVC as3 bundles to template list.

    When they're installed this should mean that the templates within the framework bundles are found and presented when the user uses the 'cla' tab triggered command.

commit d8d29834f0dbfecc222b3aa714fec343709288df
Author: Simon Gregory
Date:   Fri Jul 17 22:15:02 2009 +0100

    • When searching for the SDK we now additionally check the ENV path.

    What we now have is a system search for the path to the Flex SDK. The priority being:

     1. An explicitly set TM_FLEX_PATH.
     2. Searches the users PATH.
     3. Search a predetermined list of possibles dirs returning the first match.

    Care needs to be taken in commands that use a shebang as .textmate_init will not get sourced (and the env path gets skipped).

commit 080a69960afab1fc7aafac9e663d9377f7557b4e
Author: Simon Gregory
Date:   Thu Jul 16 16:22:00 2009 +0100

    • Added an extra test case.

commit 918d1d8377d1ba00180aab71947c2db6140459a5
Author: Simon Gregory
Date:   Thu Jul 16 16:20:59 2009 +0100

    • Catching a case where interface parents where being returned empty.

commit 8afb3755d306f0343910862d62584690224bc32a
Author: Simon Gregory
Date:   Thu Jul 16 16:15:49 2009 +0100

    • Wrapped an exception round the code at the top level to aid debugging.

commit b784f01639c7ea487510e749b684d96b56333c84
Author: Simon Gregory
Date:   Thu Jul 16 16:11:32 2009 +0100

    • Log file path being escaped and the string produced was appearing as the file path.

    So we no longer escape for the shell.

commit f35266dc0445c89b167a3d3d630be95bb1a2f1da
Author: Simon Gregory
Date:   Fri Jul 10 11:47:06 2009 +0100

    • Pulling outputted whitespace in asdoc generation into line with the templates in the rest of the system.

commit 4ba81effba62a00a679076ee76b3f755a2f59744
Author: Simon Gregory
Date:   Tue Jun 30 21:27:32 2009 +0100

    • Correcting command output wrongly checked in with last commit.

commit 51b1e3a1799ccc9c796c803fa710cf2c589bd01a
Author: Simon Gregory
Date:   Tue Jun 30 21:26:37 2009 +0100

    • Fixing override command require.

commit 02eccc99b9fa9c41bc094b244a42e918c82a2529
Author: Simon Gregory
Date:   Mon Jun 1 21:30:22 2009 +0100

    • Improving tests for mxml docs.

commit 778d9bc83fe6ec49c588e872640c5f2ba36e6b90
Author: Simon Gregory
Date:   Mon Jun 1 12:02:47 2009 +0100

    • Fixing path error caused when script was moved.

commit 5a0cc714ec4a2ac5bd98fed880205bff67c05e3b
Author: Simon Gregory
Date:   Mon Jun 1 20:49:12 2009 +0100

    • Updated tests.

commit a94b60002b8bff60a6d150db014999619aa39409
Author: Simon Gregory
Date:   Sun May 31 16:48:20 2009 +0100

    • Adding some tests to config parser.

commit f246c04bb06c43cbbba1bdd0233daf626831744b
Author: Simon Gregory
Date:   Sun May 31 16:03:37 2009 +0100

    • Moving run command to bin.

commit 5b43a26b16902618d47d1782d788a3e372b1db9e
Author: Simon Gregory
Date:   Tue Jun 30 20:43:12 2009 +0100

    • New return snippet.

commit 9760b933f5ae1cdab9a217ad5a86d0719e0db628
Author: Simon Gregory
Date:   Tue Jun 30 20:38:20 2009 +0100

    • Fixing key activation.

commit eda7250de7a7f6617cf3506efff4c8dab9a4f998
Author: Simon Gregory
Date:   Sun May 31 12:01:47 2009 +0100

    • Seperated env requires into more granular fragments.

    Although it was convenient, using a single flex_env require file had meant that ruby was loading files that weren't needed. This is now split into 'completion' and 'snippet' based env requires.

    Additionally tests have been updated to work with the new requires, and an attempt has been made to improve formatting consistency.

commit 2e1b43ee3aa813e2e98a8e97e33816595731de0f
Author: Simon Gregory
Date:   Sat May 30 20:50:28 2009 +0100

    • Cleaned up requires and tests now run.

commit 508c2beada4a820b00750ddc8c3308f3e0239de3
Author: Simon Gregory
Date:   Sat May 30 20:49:20 2009 +0100

    • No longer use a constant for log file path.

commit 9cfaf7d7e7791c2b76005a8a5af7d8a90d25c83f
Author: Simon Gregory
Date:   Sat May 30 20:48:29 2009 +0100

    • Moved require and cleaned up whitespace.

commit 4bdc4187eaadc23dbafccfe35182260fafa125db
Author: Simon Gregory
Date:   Sat May 30 20:30:15 2009 +0100

    • Additional test for fcd.

commit ac0f502ad29b75fae66c6d9472f6a08d830acac2
Author: Simon Gregory
Date:   Sat May 30 20:26:32 2009 +0100

    • Adding tests for flex config dictionary lookup.

commit 7709266b9721f726e137be2d2ccce764ebe186b5
Author: Simon Gregory
Date:   Sat May 30 17:40:18 2009 +0100

    • FlexMate::SDK.open_mx_source opens the currently active SDK's as src in TextMate

commit b0926081ed05c828a34422833b20573036fe9419
Author: Simon Gregory
Date:   Fri May 29 07:59:18 2009 +0100

    • Further refactoring work to pick up src paths from the compiler config file.

commit a8cdf24446e6072f582dcc87364fe3d1e95c5b12
Author: Simon Gregory
Date:   Thu May 28 21:05:06 2009 +0100

    • Build command now recognises custom build files again.

    To override the default build behavior and execute a custom script set TM_FLEX_BUILD_FILE to location of your custom script. As long as the path is resolves to an executable file it will run.

Changed:
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/Add Import.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/Auto Complete Imports.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/Build.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/Class Templates.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/Open flex-config_xml.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/Open___.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/Run Project___.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/Search AS3 Language Reference.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/asdoc.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/class.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/final function.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/function.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/get.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/interface.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/new.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/override function.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/package.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/private.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/protected.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/public.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/set.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Commands/static.tmCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/DragCommands/Subclass.tmDragCommand
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Preferences/Settings.tmPreferences
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Snippets/include.tmSnippet
A   trunk/Review/Bundles/ActionScript 3.tmbundle/Snippets/return.tmSnippet
A   trunk/Review/Bundles/ActionScript 3.tmbundle/Snippets/with.tmSnippet
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/bin/as3_template_parser.rb
A   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/bin/as_docs.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/bin/build.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/bin/complete.rb
A   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/bin/run.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/data/doc_dictionary.xml
D   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/as3/completions/completions_list.rb
A   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/as3/completions_list.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/as3/parsers/class_parser.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/as3/parsers/config.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/as3/parsers/manifest.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/as3/parsers/mxml.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/as3/parsers/property_inspector.rb
A   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/as3/source_tools.rb
A   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/as3/templates/as3_snippets.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/as3/templates/snippet_builder.rb
D   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/as3/templates/snippet_controller.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/as3/templates/snippet_provider.rb
D   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/as3/tools/source_tools.rb
A   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/c_env.rb
D   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/flex_env.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/fm/asd.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/fm/bundle_tool.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/fm/compiler.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/fm/fcd.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/fm/flex_mate.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/fm/log.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/fm/mxmlc_exhaust.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/fm/sdk.rb
A   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/fm/settings.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/fm/template_machine.rb
A   trunk/Review/Bundles/ActionScript 3.tmbundle/Support/lib/snip_env.rb
U   trunk/Review/Bundles/ActionScript 3.tmbundle/help.mdown
U   trunk/Review/Bundles/ActionScript 3.tmbundle/info.plist



More information about the textmate-dev mailing list