nativemodel_darwin.go 783 B

1234567891011121314151617181920212223242526272829303132333435
  1. // Copyright (C) 2014 The Protocol Authors.
  2. //go:build darwin
  3. // +build darwin
  4. package protocol
  5. // Darwin uses NFD normalization
  6. import "golang.org/x/text/unicode/norm"
  7. func makeNative(m rawModel) rawModel { return nativeModel{m} }
  8. type nativeModel struct {
  9. rawModel
  10. }
  11. func (m nativeModel) Index(idx *Index) error {
  12. for i := range idx.Files {
  13. idx.Files[i].Name = norm.NFD.String(idx.Files[i].Name)
  14. }
  15. return m.rawModel.Index(idx)
  16. }
  17. func (m nativeModel) IndexUpdate(idxUp *IndexUpdate) error {
  18. for i := range idxUp.Files {
  19. idxUp.Files[i].Name = norm.NFD.String(idxUp.Files[i].Name)
  20. }
  21. return m.rawModel.IndexUpdate(idxUp)
  22. }
  23. func (m nativeModel) Request(req *Request) (RequestResponse, error) {
  24. req.Name = norm.NFD.String(req.Name)
  25. return m.rawModel.Request(req)
  26. }