.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / wrap-ansi / node_modules / is-fullwidth-code-point / index.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point/index.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point/index.js
new file mode 100644 (file)
index 0000000..a7d3e38
--- /dev/null
@@ -0,0 +1,46 @@
+'use strict';
+var numberIsNan = require('number-is-nan');
+
+module.exports = function (x) {
+       if (numberIsNan(x)) {
+               return false;
+       }
+
+       // https://github.com/nodejs/io.js/blob/cff7300a578be1b10001f2d967aaedc88aee6402/lib/readline.js#L1369
+
+       // code points are derived from:
+       // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt
+       if (x >= 0x1100 && (
+               x <= 0x115f ||  // Hangul Jamo
+               0x2329 === x || // LEFT-POINTING ANGLE BRACKET
+               0x232a === x || // RIGHT-POINTING ANGLE BRACKET
+               // CJK Radicals Supplement .. Enclosed CJK Letters and Months
+               (0x2e80 <= x && x <= 0x3247 && x !== 0x303f) ||
+               // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
+               0x3250 <= x && x <= 0x4dbf ||
+               // CJK Unified Ideographs .. Yi Radicals
+               0x4e00 <= x && x <= 0xa4c6 ||
+               // Hangul Jamo Extended-A
+               0xa960 <= x && x <= 0xa97c ||
+               // Hangul Syllables
+               0xac00 <= x && x <= 0xd7a3 ||
+               // CJK Compatibility Ideographs
+               0xf900 <= x && x <= 0xfaff ||
+               // Vertical Forms
+               0xfe10 <= x && x <= 0xfe19 ||
+               // CJK Compatibility Forms .. Small Form Variants
+               0xfe30 <= x && x <= 0xfe6b ||
+               // Halfwidth and Fullwidth Forms
+               0xff01 <= x && x <= 0xff60 ||
+               0xffe0 <= x && x <= 0xffe6 ||
+               // Kana Supplement
+               0x1b000 <= x && x <= 0x1b001 ||
+               // Enclosed Ideographic Supplement
+               0x1f200 <= x && x <= 0x1f251 ||
+               // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
+               0x20000 <= x && x <= 0x3fffd)) {
+               return true;
+       }
+
+       return false;
+}