Skip to content
This repository was archived by the owner on Sep 6, 2021. It is now read-only.
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
137 changes: 64 additions & 73 deletions src/brackets.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,61 +39,52 @@ define(function (require, exports, module) {
"use strict";

// Load dependent non-module scripts
require("thirdparty/path-utils/path-utils.min");
require("thirdparty/smart-auto-complete-local/jquery.smart_autocomplete");
require("widgets/bootstrap-dropdown");
require("widgets/bootstrap-modal");
require("widgets/bootstrap-twipsy-mod");
require("thirdparty/path-utils/path-utils.min");
require("thirdparty/smart-auto-complete-local/jquery.smart_autocomplete");

// Load CodeMirror add-ons--these attach themselves to the CodeMirror module
require("thirdparty/CodeMirror2/addon/fold/xml-fold");
require("thirdparty/CodeMirror2/addon/edit/matchtags");
require("thirdparty/CodeMirror2/addon/edit/matchbrackets");
// Load CodeMirror add-ons--these attach themselves to the CodeMirror module
require("thirdparty/CodeMirror2/addon/edit/closebrackets");
require("thirdparty/CodeMirror2/addon/edit/closetag");
require("thirdparty/CodeMirror2/addon/scroll/scrollpastend");
require("thirdparty/CodeMirror2/addon/selection/active-line");
require("thirdparty/CodeMirror2/addon/selection/mark-selection");
require("thirdparty/CodeMirror2/addon/edit/matchbrackets");
require("thirdparty/CodeMirror2/addon/edit/matchtags");
require("thirdparty/CodeMirror2/addon/fold/xml-fold");
require("thirdparty/CodeMirror2/addon/mode/multiplex");
require("thirdparty/CodeMirror2/addon/mode/overlay");
require("thirdparty/CodeMirror2/addon/scroll/scrollpastend");
require("thirdparty/CodeMirror2/addon/search/match-highlighter");
require("thirdparty/CodeMirror2/addon/search/searchcursor");
require("thirdparty/CodeMirror2/addon/selection/active-line");
require("thirdparty/CodeMirror2/addon/selection/mark-selection");
require("thirdparty/CodeMirror2/keymap/sublime");

// Load dependent modules
var AppInit = require("utils/AppInit"),
LanguageManager = require("language/LanguageManager"),
ProjectManager = require("project/ProjectManager"),
DocumentManager = require("document/DocumentManager"),
EditorManager = require("editor/EditorManager"),
JSUtils = require("language/JSUtils"),
WorkingSetView = require("project/WorkingSetView"),
DocumentCommandHandlers = require("document/DocumentCommandHandlers"),
FileViewController = require("project/FileViewController"),
FileSyncManager = require("project/FileSyncManager"),
KeyBindingManager = require("command/KeyBindingManager"),
Commands = require("command/Commands"),
CommandManager = require("command/CommandManager"),
CodeHintManager = require("editor/CodeHintManager"),
PerfUtils = require("utils/PerfUtils"),
FileSystem = require("filesystem/FileSystem"),
Menus = require("command/Menus"),
MainViewHTML = require("text!htmlContent/main-view.html"),
Strings = require("strings"),
Dialogs = require("widgets/Dialogs"),
DefaultDialogs = require("widgets/DefaultDialogs"),
ExtensionLoader = require("utils/ExtensionLoader"),
Async = require("utils/Async"),
UpdateNotification = require("utils/UpdateNotification"),
UrlParams = require("utils/UrlParams").UrlParams,
PreferencesManager = require("preferences/PreferencesManager"),
ExtensionUtils = require("utils/ExtensionUtils"),
DragAndDrop = require("utils/DragAndDrop"),
CodeInspection = require("language/CodeInspection"),
NativeApp = require("utils/NativeApp"),
DeprecationWarning = require("utils/DeprecationWarning"),
ViewCommandHandlers = require("view/ViewCommandHandlers"),
MainViewManager = require("view/MainViewManager");
var AppInit = require("utils/AppInit"),
LanguageManager = require("language/LanguageManager"),
ProjectManager = require("project/ProjectManager"),
FileViewController = require("project/FileViewController"),
FileSyncManager = require("project/FileSyncManager"),
Commands = require("command/Commands"),
CommandManager = require("command/CommandManager"),
PerfUtils = require("utils/PerfUtils"),
FileSystem = require("filesystem/FileSystem"),
Strings = require("strings"),
Dialogs = require("widgets/Dialogs"),
DefaultDialogs = require("widgets/DefaultDialogs"),
ExtensionLoader = require("utils/ExtensionLoader"),
Async = require("utils/Async"),
UpdateNotification = require("utils/UpdateNotification"),
UrlParams = require("utils/UrlParams").UrlParams,
PreferencesManager = require("preferences/PreferencesManager"),
DragAndDrop = require("utils/DragAndDrop"),
NativeApp = require("utils/NativeApp"),
DeprecationWarning = require("utils/DeprecationWarning"),
ViewCommandHandlers = require("view/ViewCommandHandlers"),
MainViewManager = require("view/MainViewManager");

var MainViewHTML = require("text!htmlContent/main-view.html");

// load modules for later use
require("utils/Global");
Expand Down Expand Up @@ -126,20 +117,20 @@ define(function (require, exports, module) {
// Load modules that self-register and just need to get included in the main project
require("command/DefaultMenus");
require("document/ChangedDocumentTracker");
require("editor/EditorStatusBar");
require("editor/EditorCommandHandlers");
require("editor/EditorOptionHandlers");
require("editor/EditorStatusBar");
require("editor/ImageViewer");
require("extensibility/InstallExtensionDialog");
require("extensibility/ExtensionManagerDialog");
require("help/HelpCommandHandlers");
require("search/FindInFilesUI");
require("search/FindReplace");
require("extensibility/InstallExtensionDialog");
require("extensibility/ExtensionManagerDialog");
require("editor/ImageViewer");

// Compatibility shims for filesystem API migration
require("project/FileIndexManager");
require("file/NativeFileSystem");
require("file/NativeFileError");
require("file/NativeFileSystem");
require("project/FileIndexManager");

// Compatibility shim for PanelManager to WorkspaceManager migration
require("view/PanelManager");
Expand All @@ -162,50 +153,50 @@ define(function (require, exports, module) {
// in the modules since they would run in context of the unit test window,
// and would not have access to the app html/css.
brackets.test = {
CodeHintManager : CodeHintManager,
CodeInspection : CodeInspection,
CommandManager : CommandManager,
Commands : Commands,
CodeHintManager : require("editor/CodeHintManager"),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why another require is preferable? Does it solve any issue at all?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed the require above since we should only require module over there that we actually need in our code, for example for calling their methods.
The only occurence of CodeHintManager, though, is here in brackets.test.

See #1783 (case 2) for more details.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It does not quite explain all the changes. LanguageManager is loaded twice via require, for example.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, I see. This PR is 3 months old, so I don't exactly know the initial motivation, but I think it might be that this just looks cleaner to me, than having a mixture of requires and variable references.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK. Now I see. Not going to argue aesthetics. It may improve readability for this one case, but I prefer variables since they can be linted and not get back at you at runtime. Technically, there's a negligible difference and the code is executed once. So if you want to, you can merge it with master and we can merge it back in. If not, let's close it.

CodeInspection : require("language/CodeInspection"),
CommandManager : require("command/CommandManager"),
Commands : require("command/Commands"),
CSSUtils : require("language/CSSUtils"),
DefaultDialogs : DefaultDialogs,
Dialogs : Dialogs,
DocumentCommandHandlers : DocumentCommandHandlers,
DocumentManager : DocumentManager,
DefaultDialogs : require("widgets/DefaultDialogs"),
Dialogs : require("widgets/Dialogs"),
DocumentCommandHandlers : require("document/DocumentCommandHandlers"),
DocumentManager : require("document/DocumentManager"),
DocumentModule : require("document/Document"),
DOMAgent : require("LiveDevelopment/Agents/DOMAgent"),
DragAndDrop : DragAndDrop,
EditorManager : EditorManager,
ExtensionLoader : ExtensionLoader,
ExtensionUtils : ExtensionUtils,
DragAndDrop : require("utils/DragAndDrop"),
EditorManager : require("editor/EditorManager"),
ExtensionLoader : require("utils/ExtensionLoader"),
ExtensionUtils : require("utils/ExtensionUtils"),
File : require("filesystem/File"),
FileFilters : require("search/FileFilters"),
FileSyncManager : FileSyncManager,
FileSystem : FileSystem,
FileViewController : FileViewController,
FileSyncManager : require("project/FileSyncManager"),
FileSystem : require("filesystem/FileSystem"),
FileViewController : require("project/FileViewController"),
FileUtils : require("file/FileUtils"),
FindInFiles : require("search/FindInFiles"),
FindInFilesUI : require("search/FindInFilesUI"),
HTMLInstrumentation : require("language/HTMLInstrumentation"),
Inspector : require("LiveDevelopment/Inspector/Inspector"),
InstallExtensionDialog : require("extensibility/InstallExtensionDialog"),
JSUtils : JSUtils,
KeyBindingManager : KeyBindingManager,
LanguageManager : LanguageManager,
JSUtils : require("language/JSUtils"),
KeyBindingManager : require("command/KeyBindingManager"),
LanguageManager : require("language/LanguageManager"),
LiveDevelopment : require("LiveDevelopment/LiveDevelopment"),
LiveDevMultiBrowser : require("LiveDevelopment/LiveDevMultiBrowser"),
LiveDevServerManager : require("LiveDevelopment/LiveDevServerManager"),
MainViewManager : MainViewManager,
MainViewManager : require("view/MainViewManager"),
MainViewFactory : require("view/MainViewFactory"),
Menus : Menus,
Menus : require("command/Menus"),
MultiRangeInlineEditor : require("editor/MultiRangeInlineEditor").MultiRangeInlineEditor,
NativeApp : NativeApp,
PerfUtils : PerfUtils,
PreferencesManager : PreferencesManager,
ProjectManager : ProjectManager,
NativeApp : require("utils/NativeApp"),
PerfUtils : require("utils/PerfUtils"),
PreferencesManager : require("preferences/PreferencesManager"),
ProjectManager : require("project/ProjectManager"),
RemoteAgent : require("LiveDevelopment/Agents/RemoteAgent"),
ScrollTrackMarkers : require("search/ScrollTrackMarkers"),
UpdateNotification : require("utils/UpdateNotification"),
WorkingSetView : WorkingSetView,
WorkingSetView : require("project/WorkingSetView"),
doneLoading : false
};

Expand Down