@gotoeasy/code-frame

code-frame

Usage no npm install needed!

<script type="module">
  import gotoeasyCodeFrame from 'https://cdn.skypack.dev/@gotoeasy/code-frame';
</script>

README

@gotoeasy/code-frame

code-frame

NPM version License

Install

npm i @gotoeasy/code-frame

Sample 1

const codeframe = require('@gotoeasy/code-frame');

let file, text, start, end, result;

text = `123456781
123456782
123456783
123456784
123456785
123456786
123456787
123456788
123456789
123456780
123456781
123456782
123456783
`;

start = 11;
result = codeframe({text, start, linesAbove: 3, linesBelow: 3});
console.log(result);

Sample1

Sample 2

start = 11;
end = 15;
result = codeframe({text, start, end, linesAbove: 3, linesBelow: 3});
console.log(result);

Sample2

Sample 3

start = 11;
end = 45;
result = codeframe({text, start, end, linesAbove: 3, linesBelow: 3});
console.log(result);

Sample3

Sample 4

file = './testdata.txt';
start = 11;
end = 45;
result = codeframe({file, start, end, linesAbove: 3, linesBelow: 3});
console.log(result);

Sample4

Sample 5

line = 1;
column = 1;
result = codeframe({text, line, column, linesAbove: 3, linesBelow: 3});
console.log(result);

Sample5

Sample 6

file = './testdata.txt';
line = 1;
column = 1;
result = codeframe({file, line, column, linesAbove: 3, linesBelow: 3});
console.log(result);

Sample6

Sample 7

startLine = 1;
startColumn = 1;
endLine = 4;
endColumn = 5;
result = codeframe({text, startLine, startColumn, endLine, endColumn, linesAbove: 3, linesBelow: 3});
console.log(result);

Sample7

Sample 8

file = './testdata.txt';
startLine = 1;
startColumn = 1;
endLine = 4;
endColumn = 5;
result = codeframe({file, startLine, startColumn, endLine, endColumn, linesAbove: 3, linesBelow: 3});
console.log(result);

Sample8

Sample 9

text = '111111111122222222223333333333444444444455555555556666666666';
start = 30;
end   = 33;
maxLength = 50;      // 调整每行最大显示长度,默认maxLength=120
result = codeframe({text, start, end, maxLength, linesAbove: 3, linesBelow: 3});
console.log(result); // 超出部分省略号表示

Sample9

Sample 10

text = '                              444444444455555555556666666666';
start = 30;
end   = 33;
maxLength = 50;
result = codeframe({text, start, end, maxLength, linesAbove: 3, linesBelow: 3});
console.log(result); // 左缩进空白将适当去除

Sample10


Links