mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-21 16:08:24 +03:00
Do not automatically close quotes when inserted inside a string.
This commit is contained in:
parent
f7f64ea9f3
commit
82e0a458fa
@ -145,6 +145,17 @@ describe "LanguageMode", ->
|
||||
expect(buffer.lineForRow(0)).toBe '"ok"'
|
||||
expect(editSession.getCursorBufferPosition()).toEqual [0, 4]
|
||||
|
||||
describe "when the cursor is inside a string", ->
|
||||
it "does not automatically insert closing single or double quote", ->
|
||||
editSession.buffer.setText("'aa'")
|
||||
editSession.setCursorBufferPosition([0, 3])
|
||||
editSession.insertText '"'
|
||||
expect(buffer.lineForRow(0)).toBe "'aa\"'"
|
||||
|
||||
editSession.buffer.setText('"aa"')
|
||||
editSession.setCursorBufferPosition([0, 3])
|
||||
editSession.insertText "'"
|
||||
expect(buffer.lineForRow(0)).toBe '"aa\'"'
|
||||
|
||||
describe "javascript", ->
|
||||
beforeEach ->
|
||||
|
@ -23,7 +23,10 @@ class LanguageMode
|
||||
cursorBufferPosition = @editSession.getCursorBufferPosition()
|
||||
nextCharachter = @editSession.getTextInBufferRange([cursorBufferPosition, cursorBufferPosition.add([0,1])])
|
||||
|
||||
autoCompleteOpeningBracket = @isOpeningBracket(text) and /\W|^$/.test(nextCharachter)
|
||||
hasWordAfterCursor = /\w/.test(nextCharachter)
|
||||
cursorInsideString = @tokenizedBuffer.isBufferPositionInsideString(cursorBufferPosition)
|
||||
|
||||
autoCompleteOpeningBracket = @isOpeningBracket(text) and not hasWordAfterCursor and not cursorInsideString
|
||||
skipOverExistingClosingBracket = false
|
||||
if @isClosingBracket(text) and nextCharachter == text
|
||||
if bracketAnchorRange = @bracketAnchorRanges.filter((anchorRange) -> anchorRange.getBufferRange().end.isEqual(cursorBufferPosition))[0]
|
||||
|
@ -117,6 +117,10 @@ class TokenizedBuffer
|
||||
iterator(token, startOfToken, { stop }) if bufferRange.containsPoint(startOfToken)
|
||||
return unless keepLooping
|
||||
|
||||
isBufferPositionInsideString: (bufferPosition) ->
|
||||
if lastScope = _.last(@scopesForPosition(bufferPosition))
|
||||
/^string\./.test(lastScope)
|
||||
|
||||
findOpeningBracket: (startBufferPosition) ->
|
||||
range = [[0,0], startBufferPosition]
|
||||
position = null
|
||||
|
Loading…
Reference in New Issue
Block a user