Skip to content

Commit

Permalink
Set up consoles to remember currently entered input value between swi…
Browse files Browse the repository at this point in the history
…tching consoles.
  • Loading branch information
jakewins committed Jun 22, 2011
1 parent edaa3d7 commit f8b935b
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 27 deletions.
Expand Up @@ -40,7 +40,7 @@ define(
@appState = appState
@gremlinState = new Console(server:@appState.get("server"), lang:"gremlin")
@cypherState = new CypherConsole(server:@appState.get("server"), lang:"cypher")
@httpState = new HttpConsole(server:@appState.get("server"))
@httpState = new HttpConsole(server:@appState.get("server"), lang:"http")

@views =
gremlin : new GremlinConsoleView
Expand Down
Expand Up @@ -32,16 +32,27 @@ define ['lib/backbone'], () ->
initialize : (opts) =>
@server = opts.server
@lang = opts.lang
@eval("init()", false, false)
@setStatement "init()"
@eval false, false

# Set the current statement (== current prompt input)
setStatement : (str, opts={}) =>
@set {prompt : str}, opts

eval : (statement, showStatement=true, includeInHistory=true, prepend = @lang) =>
# Evaluate the current statement line
# (the current prompt input)
eval : (showStatement=true, includeInHistory=true, prepend = @lang) =>
statement = @get 'prompt'
@set {"showPrompt":false, prompt:""}, {silent:true}
if showStatement
@pushLines [statement], prepend + "> "

if includeInHistory
if includeInHistory and statement is not ''
@pushHistory statement


@executeStatement statement

executeStatement : (statement) ->
@server.manage.console.exec statement, @lang, @parseEvalResult

prevHistory : =>
Expand Down
Expand Up @@ -26,7 +26,4 @@ define ['./MultiLineInputConsole'], (MultiLineInputConsole) ->
@server = opts.server
@lang = opts.lang
@set {"showPrompt":true},{silent:true}

eval : (statement, showStatement=true, includeInHistory=true) =>
super statement, showStatement, includeInHistory, "cypher"


Expand Up @@ -26,16 +26,10 @@ define ['./Console'], (Console) ->

initialize : (opts) =>
@server = opts.server
@lang = opts.lang
@set {"showPrompt":true},{silent:true}

eval : (statement, showStatement=true, includeInHistory=true) =>
@set {"showPrompt":false, prompt:""}, {silent:true}
if showStatement
@pushLines [statement], "http> "

if includeInHistory
@pushHistory statement

executeStatement : (statement) ->
if @statementRegex.test statement
result = @statementRegex.exec statement
[method, url, data] = [result[1], result[6], result[8]]
Expand Down
Expand Up @@ -24,19 +24,12 @@ define ['./Console'], (Console) ->

inputBuffer : []

eval : (statement, showStatement=true, includeInHistory=true, prepend = @lang) =>
@set {"showPrompt":false, prompt:""}, {silent:true}
if showStatement
@pushLines [statement], prepend + "> "

executeStatement : (statement) ->
if statement is ""
statement = @inputBuffer.join "\n"
@inputBuffer = []
@server.manage.console.exec statement, @lang, @parseEvalResult
super statement
else
if includeInHistory
@pushHistory statement

@inputBuffer.push statement
@set {"showPrompt":true}

Expand Up @@ -38,8 +38,10 @@ define(
@consoleState.bind("change", @renderConsole)

consoleKeyUp : (ev) =>
@consoleState.setStatement $("#console-input").val(), silent : true

if ev.keyCode is 13 # ENTER
@consoleState.eval $("#console-input").val()
@consoleState.eval()
else if ev.keyCode is 38 # UP
@consoleState.prevHistory()
else if ev.keyCode is 40 # DOWN
Expand Down

0 comments on commit f8b935b

Please sign in to comment.