Skip to content

Commit

Permalink
🆕 Properly clip the range in rangeFromLineNumber
Browse files Browse the repository at this point in the history
  • Loading branch information
steelbrain committed Jun 21, 2016
1 parent 4fdae4f commit 56f95b1
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 3 deletions.
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,8 @@
2,
"never"
],
"prefer-arrow-callback": 0
"prefer-arrow-callback": 0,
"max-len": [2, 200]
},
"extends": "airbnb/base",
"parser": "babel-eslint",
Expand Down
11 changes: 9 additions & 2 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import { exec, execNode } from 'sb-exec'
let NamedRegexp = null
export const FindCache = new Map()

export function rangeFromLineNumber(textEditor: TextEditor, line: number, column: number): Range {
export function rangeFromLineNumber(textEditor: TextEditor, line: number, column: ?number): Range {
Helpers.validateEditor(textEditor)
let lineNumber = line

Expand Down Expand Up @@ -43,9 +43,16 @@ export function rangeFromLineNumber(textEditor: TextEditor, line: number, column
throw new Error(`Column start (${colStart}) greater than line length (${lineLength})`)
}

let colEnd = lineLength
const rowText = buffer.lineForRow(lineNumber).substr(colStart)
const match = /^( +|[\$\w]+)/.exec(rowText)
if (match) {
colEnd = colStart + match.index + match[0].length
}

return [
[lineNumber, colStart],
[lineNumber, lineLength]
[lineNumber, colEnd]
]
}

Expand Down

0 comments on commit 56f95b1

Please sign in to comment.