microsoft / xterm.js
File Size

The distribution of size of files (measured in lines of code).

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 149 files with 11,338 lines of code.
    • 2 very long files (2,258 lines of code)
    • 1 long files (534 lines of code)
    • 9 medium size files (2,593 lines of codeclsfd_ftr_w_mp_ins)
    • 18 small files (2,749 lines of code)
    • 119 very small files (3,204 lines of code)
19% | 4% | 22% | 24% | 28%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
ts23% | 5% | 26% | 25% | 19%
in0% | 0% | 0% | 13% | 86%
js0% | 0% | 0% | 100% | 0%
css0% | 0% | 0% | 0% | 100%
html0% | 0% | 0% | 0% | 100%
yml0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src43% | 10% | 25% | 14% | 6%
src/renderer0% | 0% | 33% | 37% | 28%
src/core0% | 0% | 64% | 33% | 2%
fixtures/typings-test0% | 0% | 100% | 0% | 0%
src/handlers0% | 0% | 0% | 69% | 30%
fixtures/escape_sequence_files0% | 0% | 0% | 13% | 86%
src/ui0% | 0% | 0% | 51% | 48%
src/public0% | 0% | 0% | 100% | 0%
src/addons0% | 0% | 0% | 21% | 78%
src/common0% | 0% | 0% | 42% | 58%
ROOT0% | 0% | 0% | 63% | 36%
src/shared0% | 0% | 0% | 0% | 100%
src/utils0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
Terminal.ts
in src
1216 75
InputHandler.ts
in src
1042 58
SelectionManager.ts
in src
534 38
EscapeSequenceParser.ts
in src
446 4
Types.ts
in src
371 -
Keyboard.ts
in src/core/input
306 1
Buffer.ts
in src
284 18
DomRenderer.ts
in src/renderer/dom
277 21
CursorRenderLayer.ts
in src/renderer
276 20
typings-test.ts
in fixtures/typings-test
227 -
TextRenderLayer.ts
in src/renderer
204 9
AccessibilityManager.ts
in src
202 14
BaseRenderLayer.ts
in src/renderer
194 23
Linkifier.ts
in src
193 9
Renderer.ts
in src/renderer
174 19
DynamicCharAtlas.ts
in src/renderer/atlas
174 11
CharacterJoinerRegistry.ts
in src/renderer
171 7
AltClickHandler.ts
in src/handlers
169 13
in
t0005-CR.in
in fixtures/escape_sequence_files
164 -
CharWidth.ts
in src
164 6
MouseZoneManager.ts
in src/ui
161 16
Charsets.ts
in src/core/data
158 -
Viewport.ts
in src
155 9
Terminal.ts
in src/public
146 36
ColorManager.ts
in src/renderer
132 6
SearchHelper.ts
in src/addons/search
131 6
CircularList.ts
in src/common
126 12
Terminal.integration.ts
in src
119 5
CompositionHelper.ts
in src
117 8
gulpfile.js
in root
101 -
CharAtlasGenerator.ts
in src/shared/atlas
100 3
LRUMap.ts
in src/renderer/atlas
98 6
xterm.css
in src
98 -
attach.ts
in src/addons/attach
91 8
in
t0003-line_wrap.in
in fixtures/escape_sequence_files
83 -
in
t0004-LF.in
in fixtures/escape_sequence_files
83 -
index.html
in src/addons/attach
83 -
SelectionRenderLayer.ts
in src/renderer
83 7
DomRendererRowFactory.ts
in src/renderer/dom
82 1
SelectionModel.ts
in src
79 4
Clipboard.ts
in src/handlers
73 7
StaticCharAtlas.ts
in src/renderer/atlas
73 4
CharAtlasCache.ts
in src/renderer/atlas
72 2
EscapeSequences.ts
in src/common/data
70 -
Types.ts
in src/renderer
70 -
BufferLine.ts
in src
63 10
EventEmitter.ts
in src/common
61 8
azure-pipelines.yml
in root
59 -
in
t0056-ED.in
in fixtures/escape_sequence_files
59 -
terminado.ts
in src/addons/terminado
59 5
Files With Most Units (Top 20)
File# lines# units
Terminal.ts
in src
1216 75
InputHandler.ts
in src
1042 58
SelectionManager.ts
in src
534 38
Terminal.ts
in src/public
146 36
BaseRenderLayer.ts
in src/renderer
194 23
DomRenderer.ts
in src/renderer/dom
277 21
CursorRenderLayer.ts
in src/renderer
276 20
Renderer.ts
in src/renderer
174 19
Buffer.ts
in src
284 18
MouseZoneManager.ts
in src/ui
161 16
AccessibilityManager.ts
in src
202 14
AltClickHandler.ts
in src/handlers
169 13
CircularList.ts
in src/common
126 12
DynamicCharAtlas.ts
in src/renderer/atlas
174 11
BufferLine.ts
in src
63 10
Linkifier.ts
in src
193 9
Viewport.ts
in src
155 9
fit.ts
in src/addons/fit
46 9
TextRenderLayer.ts
in src/renderer
204 9
BufferSet.ts
in src
55 8
Files With Long Lines (Top 20)

There are 38 files with lines longer than 120 characters. In total, there are 104 long lines.

File# lines# units# long lines
Terminal.ts
in src
1216 75 11
SelectionManager.ts
in src
534 38 10
Terminal.ts
in src/public
146 36 8
DomRenderer.ts
in src/renderer/dom
277 21 7
in
t0503-zsh_ls_color.in
in fixtures/escape_sequence_files
10 - 6
BaseRenderLayer.ts
in src/renderer
194 23 5
in
t0502-bash_ls_color.in
in fixtures/escape_sequence_files
9 - 4
InputHandler.ts
in src
1042 58 4
t0220-SGR_inverse.html
in fixtures/escape_sequence_files
6 - 3
SoundManager.ts
in src
39 3 3
Types.ts
in src
371 - 3
webLinks.ts
in src/addons/webLinks
31 4 3
Renderer.ts
in src/renderer
174 19 3
TextRenderLayer.ts
in src/renderer
204 9 3
MouseHelper.ts
in src/utils
47 2 3
Buffer.ts
in src
284 18 2
SelectionModel.ts
in src
79 4 2
Viewport.ts
in src
155 9 2
winptyCompat.ts
in src/addons/winptyCompat
24 3 2
SelectionRenderLayer.ts
in src/renderer
83 7 2