Skip to content

Commit 0da24ed

Browse files
committed
npm run build
1 parent d33af14 commit 0da24ed

File tree

2 files changed

+82
-67
lines changed

2 files changed

+82
-67
lines changed

lib/misc/cells.d.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { Point, TextEditor } from "atom";
2+
export declare function getRange(editor: TextEditor): [Point, Point];
3+
export declare function get(editor: TextEditor): {
4+
range: any[][];
5+
selection: any;
6+
line: any;
7+
text: any;
8+
}[];
9+
export declare function moveNext(editor: TextEditor | null | undefined): void | null;
10+
export declare function movePrev(editor: TextEditor | undefined | null): void | null;

lib/misc/cells.js

Lines changed: 72 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,109 +1,114 @@
1-
'use babel'
2-
3-
import { get as weaveGet,
4-
moveNext as weaveMoveNext,
5-
movePrev as weaveMovePrev } from './weave.js'
6-
7-
import { getLine } from './blocks.js'
8-
9-
import { Point } from 'atom'
10-
11-
export function getRange (ed) {
1+
"use strict"
2+
Object.defineProperty(exports, "__esModule", { value: true })
3+
const weave_js_1 = require("./weave.js")
4+
const blocks_js_1 = require("./blocks.js")
5+
function getRange(editor) {
126
// Cell range is:
137
// Start of line below top delimiter (and/or start of top row of file) to
148
// End of line before end delimiter
15-
var buffer = ed.getBuffer()
16-
var start = buffer.getFirstPosition()
17-
var end = buffer.getEndPosition()
18-
var regexString = '^(' + atom.config.get('julia-client.uiOptions.cellDelimiter').join('|') + ')'
19-
var regex = new RegExp(regexString)
20-
var cursor = ed.getCursorBufferPosition()
9+
const buffer = editor.getBuffer()
10+
const start = buffer.getFirstPosition()
11+
const end = buffer.getEndPosition()
12+
const regexString = "^(" + atom.config.get("julia-client.uiOptions.cellDelimiter").join("|") + ")"
13+
const regex = new RegExp(regexString)
14+
const cursor = editor.getCursorBufferPosition()
2115
cursor.column = Infinity // cursor on delimiter line means eval cell below
22-
23-
2416
let foundDelim = false
25-
for (let i = cursor.row + 1; i <= ed.getLastBufferRow(); i++) {
26-
let {line, scope} = getLine(ed, i)
27-
foundDelim = regex.test(line) && scope.join('.').indexOf('comment.line') > -1
17+
for (let i = cursor.row + 1, l = editor.getLastBufferRow(); i <= l; i++) {
18+
const { line, scope } = blocks_js_1.getLine(editor, i)
19+
foundDelim = regex.test(line) && scope.join(".").indexOf("comment.line") > -1
2820
end.row = i
2921
if (foundDelim) break
3022
}
31-
3223
if (foundDelim) {
3324
end.row -= 1
3425
if (end.row < 0) end.row = 0
3526
end.column = Infinity
3627
}
37-
3828
foundDelim = false
3929
if (cursor.row > 0) {
4030
for (let i = end.row; i >= 0; i--) {
41-
let {line, scope} = getLine(ed, i)
42-
foundDelim = regex.test(line) && scope.join('.').indexOf('comment.line') > -1
31+
const { line, scope } = blocks_js_1.getLine(editor, i)
32+
foundDelim = regex.test(line) && scope.join(".").indexOf("comment.line") > -1
4333
start.row = i
4434
if (foundDelim) {
4535
break
4636
}
4737
}
4838
start.column = 0
4939
}
50-
5140
return [start, end]
5241
}
53-
54-
export function get (ed) {
55-
if (ed.getGrammar().scopeName.indexOf('source.julia') > -1) {
56-
return jlGet(ed)
42+
exports.getRange = getRange
43+
function get(editor) {
44+
if (editor.getGrammar().scopeName.indexOf("source.julia") > -1) {
45+
return jlGet(editor)
5746
} else {
58-
return weaveGet(ed)
47+
return weave_js_1.get(editor)
5948
}
6049
}
61-
62-
function jlGet (ed) {
63-
var range = getRange(ed)
64-
var text = ed.getTextInBufferRange(range)
65-
if (text.trim() === '') text = ' '
66-
var res = {
67-
range: [[range[0].row, range[0].column], [range[1].row, range[1].column]],
68-
selection: ed.getSelections()[0],
50+
exports.get = get
51+
function jlGet(editor) {
52+
const range = getRange(editor)
53+
let text = editor.getTextInBufferRange(range)
54+
if (text.trim() === "") text = " "
55+
const res = {
56+
range: [
57+
[range[0].row, range[0].column],
58+
[range[1].row, range[1].column],
59+
],
60+
selection: editor.getSelections()[0],
6961
line: range[0].row,
70-
text: text
62+
text: text,
7163
}
7264
return [res]
7365
}
74-
75-
export function moveNext (ed) {
76-
if (ed == null) {
77-
ed = atom.workspace.getActiveTextEditor()
66+
function moveNext(editor) {
67+
if (!editor) {
68+
editor = atom.workspace.getActiveTextEditor()
7869
}
79-
if (ed.getGrammar().scopeName.indexOf('source.julia') > -1) {
80-
return jlMoveNext(ed)
70+
// TODO: getActiveTextEditor may return undefined
71+
if (editor) {
72+
if (editor.getGrammar().scopeName.indexOf("source.julia") > -1) {
73+
return jlMoveNext(editor)
74+
} else {
75+
return weave_js_1.moveNext(editor)
76+
}
8177
} else {
82-
return weaveMoveNext(ed)
78+
console.error("No editor is given")
8379
}
8480
}
85-
86-
function jlMoveNext (ed) {
87-
var range = getRange(ed)
88-
var sel = ed.getSelections()[0]
89-
var nextRow = range[1].row + 2 // 2 = 1 to get to delimiter line + 1 more to go past it
90-
return sel.setBufferRange([[nextRow, 0], [nextRow, 0]])
81+
exports.moveNext = moveNext
82+
function jlMoveNext(editor) {
83+
const range = getRange(editor)
84+
const sel = editor.getSelections()[0]
85+
const nextRow = range[1].row + 2 // 2 = 1 to get to delimiter line + 1 more to go past it
86+
return sel.setBufferRange([
87+
[nextRow, 0],
88+
[nextRow, 0],
89+
])
9190
}
92-
93-
export function movePrev (ed) {
94-
if (ed == null) {
95-
ed = atom.workspace.getActiveTextEditor()
91+
function movePrev(editor) {
92+
if (!editor) {
93+
editor = atom.workspace.getActiveTextEditor()
9694
}
97-
if (ed.getGrammar().scopeName.indexOf('source.weave') > -1) {
98-
return weaveMovePrev(ed)
95+
if (editor) {
96+
if (editor.getGrammar().scopeName.indexOf("source.weave") > -1) {
97+
return weave_js_1.movePrev(editor)
98+
} else {
99+
return jlMovePrev(editor)
100+
}
99101
} else {
100-
return jlMovePrev(ed)
102+
console.error("No editor is given")
101103
}
102104
}
103-
104-
function jlMovePrev (ed) {
105-
var range = getRange(ed)
106-
var prevRow = range[0].row - 2 // 2 = 1 to get to delimiter line + 1 more to go past it
107-
var sel = ed.getSelections()[0]
108-
return sel.setBufferRange([[prevRow, 0], [prevRow, 0]])
105+
exports.movePrev = movePrev
106+
function jlMovePrev(editor) {
107+
const range = getRange(editor)
108+
const prevRow = range[0].row - 2 // 2 = 1 to get to delimiter line + 1 more to go past it
109+
const sel = editor.getSelections()[0]
110+
return sel.setBufferRange([
111+
[prevRow, 0],
112+
[prevRow, 0],
113+
])
109114
}

0 commit comments

Comments
 (0)