mirror of
https://github.com/atom/atom.git
synced 2026-01-23 05:48:10 -05:00
paths are no more
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
module.exports =
|
||||
class App
|
||||
open: (path) ->
|
||||
OSX.NSApp.open path
|
||||
open: (url) ->
|
||||
OSX.NSApp.open url
|
||||
|
||||
quit: ->
|
||||
OSX.NSApp.terminate null
|
||||
|
||||
@@ -6,15 +6,15 @@ module.exports =
|
||||
class Browser extends Resource
|
||||
window.resourceTypes.push this
|
||||
|
||||
path: null
|
||||
url: null
|
||||
html: $ "<div id='browser'></div>"
|
||||
iframe: ->
|
||||
$ "<iframe src='#{@path}' style='width:100%;height:100%'></iframe>"
|
||||
$ "<iframe src='#{@url}' style='width:100%;height:100%'></iframe>"
|
||||
|
||||
open: (path) ->
|
||||
return false if not /^https?:/.test path
|
||||
open: (url) ->
|
||||
return false if not /^https?:/.test url
|
||||
|
||||
@path = path
|
||||
@url = url
|
||||
@html.html @iframe().bind 'load', (e) =>
|
||||
window.setTitle e.target.contentWindow.document.title
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ class Editor extends Resource
|
||||
window.resourceTypes.push this
|
||||
|
||||
dirty: false
|
||||
path: null
|
||||
url: null
|
||||
html: $ "<div id='ace-editor'></div>"
|
||||
|
||||
constructor: ->
|
||||
@@ -56,38 +56,38 @@ class Editor extends Resource
|
||||
Gemfile: 'ruby'
|
||||
Rakefile: 'ruby'
|
||||
|
||||
modeForPath: (path=@path) ->
|
||||
return null if not path
|
||||
setModeForSession: (session) ->
|
||||
return if not @url
|
||||
|
||||
if not modeName = @modeFileMap[ _.last path.split '/' ]
|
||||
language = _.last path.split '.'
|
||||
if not modeName = @modeFileMap[ _.last url.split '/' ]
|
||||
language = _.last url.split '.'
|
||||
language = language.toLowerCase()
|
||||
modeName = @modeMap[language] or language
|
||||
|
||||
try
|
||||
require("ace/mode/#{modeName}").Mode
|
||||
mode = require("ace/mode/#{modeName}").Mode
|
||||
session.setMode new mode
|
||||
catch e
|
||||
null
|
||||
console.error e
|
||||
|
||||
title: ->
|
||||
if @path then _.last @path.split '/' else 'untitled'
|
||||
if @url then _.last @url.split '/' else 'untitled'
|
||||
|
||||
open: (path) ->
|
||||
if path
|
||||
return false if not fs.isFile path
|
||||
return false if @path
|
||||
open: (url) ->
|
||||
if url
|
||||
return false if not fs.isFile url
|
||||
return false if @url
|
||||
|
||||
@path = path
|
||||
@url = url
|
||||
@dirty = false
|
||||
|
||||
code = if @path then fs.read @path else ''
|
||||
code = if @url then fs.read @url else ''
|
||||
session = @ace.getSession()
|
||||
session.setValue code
|
||||
session.setUseSoftTabs useSoftTabs = @usesSoftTabs code
|
||||
session.setTabSize if useSoftTabs then @guessTabSize code else 8
|
||||
session.setUndoManager new UndoManager
|
||||
mode = @modeForPath()
|
||||
session.setMode new mode if mode
|
||||
@setModeForSession session
|
||||
|
||||
window.setTitle @title()
|
||||
|
||||
@@ -95,8 +95,8 @@ class Editor extends Resource
|
||||
|
||||
close: ->
|
||||
if @dirty
|
||||
detailedMessage = if @path
|
||||
"#{@path} has changes."
|
||||
detailedMessage = if @url
|
||||
"#{@url} has changes."
|
||||
else
|
||||
"An untitled file has changes."
|
||||
|
||||
@@ -111,18 +111,18 @@ class Editor extends Resource
|
||||
super
|
||||
|
||||
save: ->
|
||||
return @saveAs() if not @path
|
||||
return @saveAs() if not @url
|
||||
|
||||
@removeTrailingWhitespace()
|
||||
fs.write @path, @code()
|
||||
fs.write @url, @code()
|
||||
@dirty = false
|
||||
|
||||
@path
|
||||
@url
|
||||
|
||||
saveAs: ->
|
||||
if path = atom.native.savePanel()?.toString()
|
||||
@path = path
|
||||
@save path
|
||||
if url = atom.native.savePanel()?.toString()
|
||||
@url = url
|
||||
@save url
|
||||
|
||||
code: ->
|
||||
@ace.getSession().getValue()
|
||||
|
||||
@@ -10,8 +10,8 @@ class Project extends Resource
|
||||
html:
|
||||
$ '<img src="http://fc01.deviantart.net/fs70/f/2010/184/4/9/Neru_Troll_Face_by_nerutrollfaceplz.jpg">'
|
||||
|
||||
open: (path) ->
|
||||
open: (url) ->
|
||||
return false if not fs.isDirectory url
|
||||
|
||||
@path = path
|
||||
@url = url
|
||||
@show()
|
||||
|
||||
@@ -6,7 +6,7 @@ Pane = require 'pane'
|
||||
module.exports =
|
||||
class Resource extends Pane
|
||||
position: "main"
|
||||
path: null
|
||||
url: null
|
||||
|
||||
constructor: ->
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ windowAdditions =
|
||||
url = atom.native.openPanel() unless url
|
||||
(@resource.open url) or atom.app.open url
|
||||
|
||||
close: (path) ->
|
||||
close: (url) ->
|
||||
@shutdown()
|
||||
$atomController.close
|
||||
|
||||
|
||||
Reference in New Issue
Block a user