gitlab.com/thomasboni/go-enry/v2@v2.8.3-0.20220418031202-30b0d7a3de98/shared/enry.go (about)

     1  // +build darwin,cgo linux,cgo
     2  // +build amd64
     3  
     4  package main
     5  
     6  import "C"
     7  import "gitlab.com/thomasboni/go-enry/v2"
     8  import "gitlab.com/thomasboni/go-enry/v2/data"
     9  
    10  //export GetLanguage
    11  func GetLanguage(filename string, content []byte) string {
    12  	return enry.GetLanguage(filename, content)
    13  }
    14  
    15  //export GetLanguageByContent
    16  func GetLanguageByContent(filename string, content []byte) (language string, safe bool) {
    17  	return enry.GetLanguageByContent(filename, content)
    18  }
    19  
    20  //export GetLanguageByEmacsModeline
    21  func GetLanguageByEmacsModeline(content []byte) (language string, safe bool) {
    22  	return enry.GetLanguageByModeline(content)
    23  }
    24  
    25  //export GetLanguageByExtension
    26  func GetLanguageByExtension(filename string) (language string, safe bool) {
    27  	return enry.GetLanguageByExtension(filename)
    28  }
    29  
    30  //export GetLanguageByFilename
    31  func GetLanguageByFilename(filename string) (language string, safe bool) {
    32  	return enry.GetLanguageByFilename(filename)
    33  }
    34  
    35  //export GetLanguageByModeline
    36  func GetLanguageByModeline(content []byte) (language string, safe bool) {
    37  	return enry.GetLanguageByModeline(content)
    38  }
    39  
    40  //export GetLanguageByShebang
    41  func GetLanguageByShebang(content []byte) (language string, safe bool) {
    42  	return enry.GetLanguageByShebang(content)
    43  }
    44  
    45  //export GetLanguageByVimModeline
    46  func GetLanguageByVimModeline(content []byte) (language string, safe bool) {
    47  	return enry.GetLanguageByVimModeline(content)
    48  }
    49  
    50  //export GetLanguageExtensions
    51  func GetLanguageExtensions(language string, result *[]*C.char) {
    52  	strSliceCopy(result, enry.GetLanguageExtensions(language))
    53  }
    54  
    55  //export GetLanguages
    56  func GetLanguages(filename string, content []byte, result *[]*C.char) {
    57  	strSliceCopy(result, enry.GetLanguages(filename, content))
    58  }
    59  
    60  //export GetLanguagesByContent
    61  func GetLanguagesByContent(filename string, content []byte, candidates []string, result *[]*C.char) {
    62  	strSliceCopy(result, enry.GetLanguagesByContent(filename, content, candidates))
    63  }
    64  
    65  //export GetLanguagesByEmacsModeline
    66  func GetLanguagesByEmacsModeline(filename string, content []byte, candidates []string, result *[]*C.char) {
    67  	strSliceCopy(result, enry.GetLanguagesByEmacsModeline(filename, content, candidates))
    68  }
    69  
    70  //export GetLanguagesByExtension
    71  func GetLanguagesByExtension(filename string, content []byte, candidates []string, result *[]*C.char) {
    72  	strSliceCopy(result, enry.GetLanguagesByExtension(filename, content, candidates))
    73  }
    74  
    75  //export GetLanguagesByFilename
    76  func GetLanguagesByFilename(filename string, content []byte, candidates []string, result *[]*C.char) {
    77  	strSliceCopy(result, enry.GetLanguagesByFilename(filename, content, candidates))
    78  }
    79  
    80  //export GetLanguagesByModeline
    81  func GetLanguagesByModeline(filename string, content []byte, candidates []string, result *[]*C.char) {
    82  	strSliceCopy(result, enry.GetLanguagesByModeline(filename, content, candidates))
    83  }
    84  
    85  //export GetLanguagesByShebang
    86  func GetLanguagesByShebang(filename string, content []byte, candidates []string, result *[]*C.char) {
    87  	strSliceCopy(result, enry.GetLanguagesByShebang(filename, content, candidates))
    88  }
    89  
    90  //export GetLanguagesByVimModeline
    91  func GetLanguagesByVimModeline(filename string, content []byte, candidates []string, result *[]*C.char) {
    92  	strSliceCopy(result, enry.GetLanguagesByVimModeline(filename, content, candidates))
    93  }
    94  
    95  //export GetMimeType
    96  func GetMimeType(path string, language string) string {
    97  	return enry.GetMIMEType(path, language)
    98  }
    99  
   100  //export IsBinary
   101  func IsBinary(data []byte) bool {
   102  	return enry.IsBinary(data)
   103  }
   104  
   105  //export IsConfiguration
   106  func IsConfiguration(path string) bool {
   107  	return enry.IsConfiguration(path)
   108  }
   109  
   110  //export IsDocumentation
   111  func IsDocumentation(path string) bool {
   112  	return enry.IsDocumentation(path)
   113  }
   114  
   115  //export IsDotFile
   116  func IsDotFile(path string) bool {
   117  	return enry.IsDotFile(path)
   118  }
   119  
   120  //export IsImage
   121  func IsImage(path string) bool {
   122  	return enry.IsImage(path)
   123  }
   124  
   125  //export IsVendor
   126  func IsVendor(path string) bool {
   127  	return enry.IsVendor(path)
   128  }
   129  
   130  //export IsGenerated
   131  func IsGenerated(path string, content []byte) bool {
   132  	return enry.IsGenerated(path, content)
   133  }
   134  
   135  //export GetColor
   136  func GetColor(language string) string {
   137  	return enry.GetColor(language)
   138  }
   139  
   140  //export IsTest
   141  func IsTest(path string) bool {
   142  	return enry.IsTest(path)
   143  }
   144  
   145  //export GetLanguageType
   146  func GetLanguageType(language string) string {
   147  	return data.Type(enry.GetLanguageType(language)).String()
   148  }
   149  
   150  func strSliceCopy(result *[]*C.char, slice []string) {
   151  	for _, str := range slice {
   152  		*result = append(*result, C.CString(str))
   153  	}
   154  }
   155  
   156  func main() {}