@@ -466,10 +466,17 @@ define(function (require, exports, module) {
466466 } ;
467467
468468 /**
469- * Adds a file extension to this language.
470- * @param {!string } extension A file extension used by this language
469+ * Adds one or more file extensions to this language.
470+ * @param {!string|Array.<string>> } extension A file extension (or array thereof) used by this language
471471 */
472472 Language . prototype . addFileExtension = function ( extension ) {
473+ if ( Array . isArray ( extension ) ) {
474+ extension . forEach ( this . _addFileExtension . bind ( this ) ) ;
475+ } else {
476+ this . _addFileExtension ( extension ) ;
477+ }
478+ } ;
479+ Language . prototype . _addFileExtension = function ( extension ) {
473480 // Remove a leading dot if present
474481 if ( extension . charAt ( 0 ) === "." ) {
475482 extension = extension . substr ( 1 ) ;
@@ -493,10 +500,17 @@ define(function (require, exports, module) {
493500 } ;
494501
495502 /**
496- * Unregisters a file extension from this language.
497- * @param {!string } extension File extension to stop using for this language
503+ * Unregisters one or more file extensions from this language.
504+ * @param {!string|Array.<string> } extension File extension (or array thereof) to stop using for this language
498505 */
499506 Language . prototype . removeFileExtension = function ( extension ) {
507+ if ( Array . isArray ( extension ) ) {
508+ extension . forEach ( this . _removeFileExtension . bind ( this ) ) ;
509+ } else {
510+ this . _removeFileExtension ( extension ) ;
511+ }
512+ } ;
513+ Language . prototype . _removeFileExtension = function ( extension ) {
500514 // Remove a leading dot if present
501515 if ( extension . charAt ( 0 ) === "." ) {
502516 extension = extension . substr ( 1 ) ;
@@ -516,10 +530,17 @@ define(function (require, exports, module) {
516530 } ;
517531
518532 /**
519- * Adds a file name to the language which is used to match files that don't have extensions like "Makefile" for example.
520- * @param {!string } extension An extensionless file name used by this language
533+ * Adds one or more file names to the language which is used to match files that don't have extensions like "Makefile" for example.
534+ * @param {!string|Array.<string> } extension An extensionless file name (or array thereof) used by this language
521535 */
522536 Language . prototype . addFileName = function ( name ) {
537+ if ( Array . isArray ( name ) ) {
538+ name . forEach ( this . _addFileName . bind ( this ) ) ;
539+ } else {
540+ this . _addFileName ( name ) ;
541+ }
542+ } ;
543+ Language . prototype . _addFileName = function ( name ) {
523544 // Make checks below case-INsensitive
524545 name = name . toLowerCase ( ) ;
525546
@@ -538,10 +559,17 @@ define(function (require, exports, module) {
538559 } ;
539560
540561 /**
541- * Unregisters a file name from this language.
542- * @param {!string } extension An extensionless file name used by this language
562+ * Unregisters one or more file names from this language.
563+ * @param {!string|Array.<string> } extension An extensionless file name (or array thereof) used by this language
543564 */
544565 Language . prototype . removeFileName = function ( name ) {
566+ if ( Array . isArray ( name ) ) {
567+ name . forEach ( this . _removeFileName . bind ( this ) ) ;
568+ } else {
569+ this . _removeFileName ( name ) ;
570+ }
571+ } ;
572+ Language . prototype . _removeFileName = function ( name ) {
545573 // Make checks below case-INsensitive
546574 name = name . toLowerCase ( ) ;
547575
0 commit comments