coord.go 1.1 KB

123456789101112131415161718192021222324252627282930
  1. // package coord -- координата литеры
  2. package coord
  3. import (
  4. мФорм "fmt"
  5. мКстр "p78git.ddns.net/svi/odeft/internal/module/coord/coord_line"
  6. мКпоз "p78git.ddns.net/svi/odeft/internal/module/coord/coord_pos"
  7. мАлиас "p78git.ddns.net/svi/odeft/pkg/alias"
  8. )
  9. // Коорд -- координата литеры в исходном тексте
  10. type Коорд struct {
  11. поз *мКпоз.КоордПоз
  12. строка *мКстр.КоордСтрока
  13. }
  14. // НовКоорд -- возвращает новую изменяемую координату
  15. func НовКоорд(поз мАлиас.КоордПоз, стр мАлиас.КоордСтрока) (*Коорд, error) {
  16. _поз := мКпоз.НовКоордПоз(поз)
  17. _стр, ош := мКстр.НовКоордСтрока(стр)
  18. if ош != nil {
  19. return nil, мФорм.Errorf("НовКоорд(): при создании КоордСтрока, ош=\n\t%w", ош)
  20. }
  21. сам := &Коорд{
  22. поз: _поз,
  23. строка: _стр,
  24. }
  25. return сам, nil
  26. }